Apache Druid: a high performance real-time analytics database.
Go to file
Xavier Léauté 8e0c307e54
Do not assume system classloader is URLClassLoader in Java 9+ (#8392)
* Fallback to parsing classpath for hadoop task in Java 9+
In Java 9 and above we cannot assume that the system classloader is an
instance of URLClassLoader. This change adds a fallback method to parse
the system classpath in that case, and adds a unit test to validate it matches
what JDK8 would do.

Note: This has not been tested in an actual hadoop setup, so this is mostly
to help us pass unit tests.

* Remove granularity test of dubious value
One of our granularity tests relies on system classloader being a URLClassLoaders to
catch a bug related to class initialization and static initializers using a subclass (see
#2979)
This test was added to catch a potential regression, but it assumes we would add back
the same type of static initializers to this specific class, so it seems to be of dubious value
as a unit test and mostly serves to illustrate the bug.

relates to #5589
2019-08-24 20:47:54 -04:00
.github add checkbox for licenses.yaml in PR template, mention it in CONTRIBUTING.md (#8367) 2019-08-22 14:14:24 -07:00
.idea Refactoring to use `CollectionUtils.mapValues` (#8059) 2019-07-17 23:02:22 -07:00
benchmarks Add Checkstyle for constant name static final (#8060) 2019-08-23 13:13:54 +03:00
cloud Revert "Fix dependency analyze warnings (#8128)" (#8189) 2019-07-29 11:42:16 -07:00
codestyle Add Checkstyle for constant name static final (#8060) 2019-08-23 13:13:54 +03:00
core Do not assume system classloader is URLClassLoader in Java 9+ (#8392) 2019-08-24 20:47:54 -04:00
dev Add 'Area - Metadata' tag to committer-instructions.md and stale.yml (#8170) 2019-07-31 15:02:35 -07:00
distribution autogenerate NOTICE.BINARY from NOTICE and licenses.yaml (#8306) 2019-08-21 12:46:27 -07:00
docs Fix wrong partitionsSpec type names in the document (#8297) 2019-08-23 13:44:58 -07:00
examples remove FirehoseV2 and realtime node extensions (#8020) 2019-07-04 15:40:22 -07:00
extendedset Bump up snapshot version to 0.16.0 (#7802) 2019-05-30 17:17:33 -07:00
extensions-contrib Add Checkstyle for constant name static final (#8060) 2019-08-23 13:13:54 +03:00
extensions-core fix powermock classloader issues with Java 9 and above 2019-08-24 18:20:52 -04:00
hll Add Checkstyle for constant name static final (#8060) 2019-08-23 13:13:54 +03:00
indexing-hadoop Add Checkstyle for constant name static final (#8060) 2019-08-23 13:13:54 +03:00
indexing-service Do not assume system classloader is URLClassLoader in Java 9+ (#8392) 2019-08-24 20:47:54 -04:00
integration-tests Add Checkstyle for constant name static final (#8060) 2019-08-23 13:13:54 +03:00
licenses Web console: celebrate array based groupBy by supporting resultAsArray in the console (#8231) 2019-08-05 18:54:39 -07:00
processing Do not assume system classloader is URLClassLoader in Java 9+ (#8392) 2019-08-24 20:47:54 -04:00
publications [ImgBot] Optimize images (#7873) 2019-06-24 21:27:48 -07:00
server Add Checkstyle for constant name static final (#8060) 2019-08-23 13:13:54 +03:00
services Add Checkstyle for constant name static final (#8060) 2019-08-23 13:13:54 +03:00
sql Add Checkstyle for constant name static final (#8060) 2019-08-23 13:13:54 +03:00
web-console Web console: Better build experience (#8389) 2019-08-24 11:35:30 -07:00
website Reduce the size of images with lossless compression (#8358) 2019-08-21 13:29:30 -07:00
.dockerignore Add docker container for druid (#6896) 2019-02-08 12:12:28 +00:00
.gitignore autogenerate NOTICE.BINARY from NOTICE and licenses.yaml (#8306) 2019-08-21 12:46:27 -07:00
.travis.yml Disable coveralls (#8382) 2019-08-23 08:05:37 -07:00
CONTRIBUTING.md add checkbox for licenses.yaml in PR template, mention it in CONTRIBUTING.md (#8367) 2019-08-22 14:14:24 -07:00
DISCLAIMER add missing license headers, in particular to MD files; clean up RAT … (#6563) 2018-11-13 09:38:37 -08:00
LABELS Add plain text README.txt, use relative link from README.md to build.md (#7611) 2019-05-09 21:29:26 -07:00
LICENSE Add missing license pointer for Porter Stemmer (#7941) 2019-06-24 12:21:40 -07:00
NOTICE add copyright info back to NOTICE and NOTICE.BINARY (#8298) 2019-08-14 19:42:47 -05:00
README.md Disable coveralls (#8382) 2019-08-23 08:05:37 -07:00
README.template switch links from druid.io to druid.apache.org (#7914) 2019-06-18 09:06:27 -07:00
licenses.yaml autogenerate NOTICE.BINARY from NOTICE and licenses.yaml (#8306) 2019-08-21 12:46:27 -07:00
pom.xml Disable coveralls (#8382) 2019-08-23 08:05:37 -07:00
upload.sh Adding licenses and enable apache-rat-plugin. (#6215) 2018-09-18 08:39:26 -07:00

README.md

Slack Build Status Language grade: Java

Apache Druid (incubating)

Apache Druid (incubating) is a high performance analytics data store for event-driven data.

Disclaimer: Apache Druid is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

Getting Started

You can get started with Druid with our quickstart.

Documentation

You can find the documentation for the latest Druid release on the project website.

If you would like to contribute documentation, please do so under /docs in this repository and submit a pull request.

Community

Community support is available on the druid-user mailing list, which is hosted at Google Groups.

Development discussions occur on dev@druid.apache.org, which you can subscribe to by emailing dev-subscribe@druid.apache.org.

Some committers and users are present in the channel #druid on the Apache Slack team. Please use our invitation link to join, and once you join, add the #druid channel.

Building From Source

Please note that JDK 8 is required to build Druid.

For instructions on building Druid from source, see docs/content/development/build.md

Contributing

Please follow the community guidelines for contributing.

License

Apache License, Version 2.0