Your’e right. After I imported the keys, using

$ gpg --recv-keys 58B5D669D2FFD83B37D88DF8BB64B3727183DE56

it worked. I could have done ‘gpg —import KEYS’ also.

Changing my vote to +0 (binding). I would give +1 but the artifacts I am asked 
to review contains a bin.tar.gz and I have no idea how to review binary 
artifacts. Maybe some other reviewers can chime in.

I do know how to find out online how to build Druid. I think it is important 
that src.tar.gz is self-contained, and that includes the necessary build 
instructions. (Just as I really appreciate when a box of pasta has “boil for 12 
minutes” written on the side.)

I don’t know whether Apache has guidelines for PaxHeaders. I’m just saying it 
looked weird to me. And by the way, emacs tar-mode choked on the tar file. Not 
a blocker, just friction.

There is a way to add headers to .md files. And I claim there is just as much 
creativity in these as in source code. Please fix in the next release.

Julian


> On Oct 22, 2018, at 10:04 PM, David Lim <david...@apache.org> wrote:
> 
> Hi Julian,
> 
> I believe the PaxHeader files are the result of extracting a tarball built
> with POSIX tar with a GNU or other variant. I believe it is a result of
> this configuration:
> https://github.com/apache/incubator-druid/blob/master/distribution/pom.xml#L195
> 
> Does Apache have guidelines on what variant of tar should be used in
> generating release artifacts?
> 
> Also, just thought I would note that we do have published documentation on
> building from source here:
> https://github.com/apache/incubator-druid/blob/master/docs/content/development/build.md
> - but there are a few statements that should be updated, hence my comment
> that I'll make sure the docs get updated.
> 
> Regards,
> David
> 
> 
> On Mon, Oct 22, 2018 at 10:20 PM David Lim <david...@apache.org> wrote:
> 
>> Hi Julian,
>> 
>> Thank you for the thorough review!
>> 
>> For the GPG key, my understanding is that it was expected that users would
>> fetch the key by either running 'gpg --import KEYS' on the KEYS file (as
>> per https://www.apache.org/dev/release-signing.html#keys-policy) or by
>> importing it from the Apache phonebook (
>> https://people.apache.org/keys/committer/davidlim.asc) or grabbing it
>> from a well-known key server (e.g.
>> http://pgp.mit.edu/pks/lookup?search=davidlim%40apache.org&op=index). Did
>> this not work for you?
>> 
>>> src.tar.gz file contains files such as
>> ./PaxHeaders.X/apache-druid-0.13.0-incubating-src_indexing-service_src_test_java_org_apache_druid_s
>> I will check to see whether these files are expected or not.
>> 
>> The files you identified from the diff against the git tag are all either
>> expected to be omitted or were generated as part of the source packaging.
>> 
>> For instructions on building the release from source, I mentioned the
>> command in the original post but it may have been somewhat buried. The
>> command I used was:
>> 
>> mvn clean install -Papache-release -Dtar
>> 
>> I'll make sure that this is updated in the docs.
>> 
>> As for the file exclusions, maybe the committers who helped set up the
>> exclusions can comment. I suspect that many of them are either a) files
>> which cannot properly support the licensing header and remain syntactically
>> valid, or b) deemed to be insignificant in its creative content and
>> therefore not protected by copyright law, as per:
>> http://www.apache.org/legal/src-headers.html#faq-exceptions.
>> 
>> Thanks again!
>> 
>> David
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> On Mon, Oct 22, 2018 at 9:32 PM Julian Hyde <jh...@apache.org> wrote:
>> 
>>> -1 due to GPG error; but also see other concerns below and fix them if
>>> there are genuine issues.
>>> 
>>> As this is Druid’s first Apache release candidate, I am impressed by how
>>> many things you got right.
>>> 
>>> I have completely ignored bin.tar.gz. It’s not possible to “release”
>>> binaries in Apache because it’s not possible to audit binaries.
>>> 
>>> I downloaded and checked signatures. .sha512 is ok. GPG failed with “No
>>> public key” error:
>>> 
>>> $ gpg --verify apache-druid-0.13.0-incubating-src.tar.gz.asc
>>> apache-druid-0.13.0-incubating-src.tar.gz
>>> gpg: Signature made Sat Oct 20 20:50:20 2018 PDT
>>> gpg:                using RSA key 58B5D669D2FFD83B37D88DF8BB64B3727183DE56
>>> gpg: Can't check signature: No public key
>>> 
>>> src.tar.gz file contains files such as
>>> ./PaxHeaders.X/apache-druid-0.13.0-incubating-src_indexing-service_src_test_java_org_apache_druid_s.
>>> Is this expected/good/bad?
>>> 
>>> There are a few binary files in the release, e.g. index.zip,
>>> druid.sample.tsv.zip, wikiticker-2015-09-12-sampled.json.gz,
>>> indexing_service.png. Sometimes binary files are a concern, but I was able
>>> to inspect all of these in their respective editors.
>>> 
>>> I checked the contents of src.tar.gz against git commit acf15b4. There
>>> are a few differences, as follows. Are any of them surprising?
>>> 
>>> $ diff -r . /tmp/apache-druid-0.13.0-incubating-src/
>>> Only in .: .git
>>> Only in .: .gitignore
>>> Only in .: .idea
>>> Only in .: .travis.yml
>>> Only in .: eclipse.importorder
>>> Only in .: eclipse_formatting.xml
>>> Only in
>>> /tmp/apache-druid-0.13.0-incubating-src/extensions-core/protobuf-extensions:
>>> dependency-reduced-pom.xml
>>> Only in /tmp/apache-druid-0.13.0-incubating-src/: git.version
>>> Only in ./integration-tests: .gitignore
>>> Only in .: publications
>>> Only in .: upload.sh
>>> 
>>> I could not find a list of instructions for how to build the source code.
>>> I checked README.md, CONTRIBUTING.md; there were some back-handed
>>> instructions in INTELLIJ_SETUP.md. In my opinion a source release should
>>> have instructions how to build, including a list of supported platforms
>>> (java versions, operating systems if applicable). As indeed should the home
>>> page.
>>> 
>>> Built the code successfully using “mvn -DskipTests install” and Java 8 on
>>> macOS. There were quite a few “[WARNING]” lines.
>>> 
>>> Glad to see that all .java files have headers. But quite a lot of
>>> files[1] do not. I saw that you added them as exclusions to apache-rat. Can
>>> you explain the thinking behind these exclusions?
>>> 
>>> Julian
>>> 
>>> [1] Files without headers
>>> 
>>> $ for i in $(git ls-files | egrep -v
>>> 'test/resources|LICENSE|NOTICE|\.(png|pdf|zip|jpg)$'); do grep -s "Licensed
>>> to the Apache Software" $i >/dev/null || echo "$i"; done
>>> .gitignore
>>> .idea/inspectionProfiles/Druid.xml
>>> .idea/inspectionProfiles/profiles_settings.xml
>>> .idea/misc.xml
>>> .idea/scopes/NonGeneratedFiles.xml
>>> .idea/scopes/UnusedInspectionsScope.xml
>>> .travis.yml
>>> CONTRIBUTING.md
>>> DISCLAIMER
>>> INTELLIJ_SETUP.md
>>> README.md
>>> ci/README_TeamCity.md
>>> codestyle/druid-forbidden-apis.txt
>>> codestyle/joda-time-forbidden-apis.txt
>>> common/src/main/antlr4/org/apache/druid/math/expr/antlr/Expr.g4
>>> common/src/main/resources/services/javax.annotation.processing.Processor
>>> docs/_bin/deploy-docs.sh
>>> docs/_bin/get-milestone-contributors.py
>>> docs/_bin/make-redirects.py
>>> docs/_config.yml
>>> docs/_graphics/druid-dataflow-3.svg
>>> docs/_graphics/druid-dataflow.svg
>>> docs/_graphics/druid-manage-1.svg
>>> docs/_graphics/druid-production.svg
>>> docs/_graphics/druid.graffle
>>> docs/_graphics/indexing_service.dot
>>> docs/_redirects.json
>>> docs/content/comparisons/druid-vs-elasticsearch.md
>>> docs/content/comparisons/druid-vs-key-value.md
>>> docs/content/comparisons/druid-vs-kudu.md
>>> docs/content/comparisons/druid-vs-redshift.md
>>> docs/content/comparisons/druid-vs-spark.md
>>> docs/content/comparisons/druid-vs-sql-on-hadoop.md
>>> docs/content/configuration/index.md
>>> docs/content/configuration/logging.md
>>> docs/content/configuration/realtime.md
>>> docs/content/dependencies/cassandra-deep-storage.md
>>> docs/content/dependencies/deep-storage.md
>>> docs/content/dependencies/metadata-storage.md
>>> docs/content/dependencies/zookeeper.md
>>> docs/content/design/auth.md
>>> docs/content/design/broker.md
>>> docs/content/design/coordinator.md
>>> docs/content/design/historical.md
>>> docs/content/design/index.md
>>> docs/content/design/indexing-service.md
>>> docs/content/design/middlemanager.md
>>> docs/content/design/overlord.md
>>> docs/content/design/peons.md
>>> docs/content/design/plumber.md
>>> docs/content/design/realtime.md
>>> docs/content/design/segments.md
>>> docs/content/development/build.md
>>> docs/content/development/experimental.md
>>> docs/content/development/extensions-contrib/ambari-metrics-emitter.md
>>> docs/content/development/extensions-contrib/azure.md
>>> docs/content/development/extensions-contrib/cassandra.md
>>> docs/content/development/extensions-contrib/cloudfiles.md
>>> docs/content/development/extensions-contrib/distinctcount.md
>>> docs/content/development/extensions-contrib/google.md
>>> docs/content/development/extensions-contrib/graphite.md
>>> docs/content/development/extensions-contrib/influx.md
>>> docs/content/development/extensions-contrib/kafka-emitter.md
>>> docs/content/development/extensions-contrib/kafka-simple.md
>>> docs/content/development/extensions-contrib/materialized-view.md
>>> docs/content/development/extensions-contrib/opentsdb-emitter.md
>>> docs/content/development/extensions-contrib/orc.md
>>> docs/content/development/extensions-contrib/parquet.md
>>> docs/content/development/extensions-contrib/rabbitmq.md
>>> docs/content/development/extensions-contrib/redis-cache.md
>>> docs/content/development/extensions-contrib/rocketmq.md
>>> docs/content/development/extensions-contrib/sqlserver.md
>>> docs/content/development/extensions-contrib/statsd.md
>>> docs/content/development/extensions-contrib/thrift.md
>>> docs/content/development/extensions-contrib/time-min-max.md
>>> docs/content/development/extensions-core/approximate-histograms.md
>>> docs/content/development/extensions-core/avro.md
>>> docs/content/development/extensions-core/bloom-filter.md
>>> docs/content/development/extensions-core/datasketches-extension.md
>>> docs/content/development/extensions-core/datasketches-hll.md
>>> docs/content/development/extensions-core/datasketches-quantiles.md
>>> docs/content/development/extensions-core/datasketches-theta.md
>>> docs/content/development/extensions-core/datasketches-tuple.md
>>> docs/content/development/extensions-core/druid-basic-security.md
>>> docs/content/development/extensions-core/druid-kerberos.md
>>> docs/content/development/extensions-core/druid-lookups.md
>>> docs/content/development/extensions-core/examples.md
>>> docs/content/development/extensions-core/hdfs.md
>>> docs/content/development/extensions-core/kafka-eight-firehose.md
>>> docs/content/development/extensions-core/kafka-extraction-namespace.md
>>> docs/content/development/extensions-core/kafka-ingestion.md
>>> docs/content/development/extensions-core/lookups-cached-global.md
>>> docs/content/development/extensions-core/mysql.md
>>> docs/content/development/extensions-core/postgresql.md
>>> docs/content/development/extensions-core/protobuf.md
>>> docs/content/development/extensions-core/s3.md
>>> docs/content/development/extensions-core/simple-client-sslcontext.md
>>> docs/content/development/extensions-core/stats.md
>>> docs/content/development/extensions-core/test-stats.md
>>> docs/content/development/extensions.md
>>> docs/content/development/geo.md
>>> docs/content/development/integrating-druid-with-other-technologies.md
>>> docs/content/development/javascript.md
>>> docs/content/development/modules.md
>>> docs/content/development/overview.md
>>> docs/content/development/router.md
>>> docs/content/development/versioning.md
>>> docs/content/ingestion/batch-ingestion.md
>>> docs/content/ingestion/command-line-hadoop-indexer.md
>>> docs/content/ingestion/compaction.md
>>> docs/content/ingestion/data-formats.md
>>> docs/content/ingestion/delete-data.md
>>> docs/content/ingestion/faq.md
>>> docs/content/ingestion/firehose.md
>>> docs/content/ingestion/flatten-json.md
>>> docs/content/ingestion/hadoop.md
>>> docs/content/ingestion/index.md
>>> docs/content/ingestion/ingestion-spec.md
>>> docs/content/ingestion/locking-and-priority.md
>>> docs/content/ingestion/misc-tasks.md
>>> docs/content/ingestion/native_tasks.md
>>> docs/content/ingestion/reports.md
>>> docs/content/ingestion/schema-changes.md
>>> docs/content/ingestion/schema-design.md
>>> docs/content/ingestion/stream-ingestion.md
>>> docs/content/ingestion/stream-pull.md
>>> docs/content/ingestion/stream-push.md
>>> docs/content/ingestion/tasks.md
>>> docs/content/ingestion/transform-spec.md
>>> docs/content/ingestion/update-existing-data.md
>>> docs/content/misc/math-expr.md
>>> docs/content/misc/papers-and-talks.md
>>> docs/content/operations/alerts.md
>>> docs/content/operations/api-reference.md
>>> docs/content/operations/dump-segment.md
>>> docs/content/operations/http-compression.md
>>> docs/content/operations/including-extensions.md
>>> docs/content/operations/insert-segment-to-db.md
>>> docs/content/operations/metrics.md
>>> docs/content/operations/other-hadoop.md
>>> docs/content/operations/password-provider.md
>>> docs/content/operations/performance-faq.md
>>> docs/content/operations/pull-deps.md
>>> docs/content/operations/recommendations.md
>>> docs/content/operations/reset-cluster.md
>>> docs/content/operations/rolling-updates.md
>>> docs/content/operations/rule-configuration.md
>>> docs/content/operations/segment-optimization.md
>>> docs/content/operations/tls-support.md
>>> docs/content/operations/use_sbt_to_build_fat_jar.md
>>> docs/content/querying/aggregations.md
>>> docs/content/querying/caching.md
>>> docs/content/querying/datasource.md
>>> docs/content/querying/datasourcemetadataquery.md
>>> docs/content/querying/dimensionspecs.md
>>> docs/content/querying/filters.md
>>> docs/content/querying/granularities.md
>>> docs/content/querying/groupbyquery.md
>>> docs/content/querying/having.md
>>> docs/content/querying/joins.md
>>> docs/content/querying/limitspec.md
>>> docs/content/querying/lookups.md
>>> docs/content/querying/multi-value-dimensions.md
>>> docs/content/querying/multitenancy.md
>>> docs/content/querying/post-aggregations.md
>>> docs/content/querying/query-context.md
>>> docs/content/querying/querying.md
>>> docs/content/querying/scan-query.md
>>> docs/content/querying/searchquery.md
>>> docs/content/querying/searchqueryspec.md
>>> docs/content/querying/segmentmetadataquery.md
>>> docs/content/querying/select-query.md
>>> docs/content/querying/sorting-orders.md
>>> docs/content/querying/sql.md
>>> docs/content/querying/timeboundaryquery.md
>>> docs/content/querying/timeseriesquery.md
>>> docs/content/querying/topnmetricspec.md
>>> docs/content/querying/topnquery.md
>>> docs/content/querying/virtual-columns.md
>>> docs/content/toc.md
>>> docs/content/tutorials/cluster.md
>>> docs/content/tutorials/index.md
>>> docs/content/tutorials/tutorial-batch-hadoop.md
>>> docs/content/tutorials/tutorial-batch.md
>>> docs/content/tutorials/tutorial-compaction.md
>>> docs/content/tutorials/tutorial-delete-data.md
>>> docs/content/tutorials/tutorial-ingestion-spec.md
>>> docs/content/tutorials/tutorial-kafka.md
>>> docs/content/tutorials/tutorial-query.md
>>> docs/content/tutorials/tutorial-retention.md
>>> docs/content/tutorials/tutorial-rollup.md
>>> docs/content/tutorials/tutorial-tranquility.md
>>> docs/content/tutorials/tutorial-transform-spec.md
>>> docs/content/tutorials/tutorial-update-data.md
>>> eclipse.importorder
>>> examples/conf/druid/broker/jvm.config
>>> examples/conf/druid/coordinator/jvm.config
>>> examples/conf/druid/historical/jvm.config
>>> examples/conf/druid/middleManager/jvm.config
>>> examples/conf/druid/overlord/jvm.config
>>> examples/conf/tranquility/kafka.json
>>> examples/conf/tranquility/server.json
>>> examples/quickstart/protobuf/kafka-metrics-pb.json
>>> examples/quickstart/protobuf/metrics.desc
>>> examples/quickstart/protobuf/metrics.proto
>>> examples/quickstart/protobuf/metrics_pb2.py
>>> examples/quickstart/protobuf/pb_publisher.py
>>> examples/quickstart/tutorial/compaction-final-index.json
>>> examples/quickstart/tutorial/compaction-init-index.json
>>> examples/quickstart/tutorial/conf/druid/broker/jvm.config
>>> examples/quickstart/tutorial/conf/druid/broker/main.config
>>> examples/quickstart/tutorial/conf/druid/broker/runtime.properties
>>> examples/quickstart/tutorial/conf/druid/coordinator/jvm.config
>>> examples/quickstart/tutorial/conf/druid/coordinator/main.config
>>> examples/quickstart/tutorial/conf/druid/coordinator/runtime.properties
>>> examples/quickstart/tutorial/conf/druid/historical/jvm.config
>>> examples/quickstart/tutorial/conf/druid/historical/main.config
>>> examples/quickstart/tutorial/conf/druid/historical/runtime.properties
>>> examples/quickstart/tutorial/conf/druid/middleManager/jvm.config
>>> examples/quickstart/tutorial/conf/druid/middleManager/main.config
>>> examples/quickstart/tutorial/conf/druid/middleManager/runtime.properties
>>> examples/quickstart/tutorial/conf/druid/overlord/jvm.config
>>> examples/quickstart/tutorial/conf/druid/overlord/main.config
>>> examples/quickstart/tutorial/conf/druid/overlord/runtime.properties
>>> examples/quickstart/tutorial/conf/tranquility/wikipedia-server.json
>>> examples/quickstart/tutorial/conf/tutorial-cluster.conf
>>> examples/quickstart/tutorial/conf/zk/jvm.config
>>> examples/quickstart/tutorial/conf/zk/log4j.xml
>>> examples/quickstart/tutorial/conf/zk/zoo.cfg
>>> examples/quickstart/tutorial/deletion-index.json
>>> examples/quickstart/tutorial/deletion-kill.json
>>> examples/quickstart/tutorial/hadoop/docker/Dockerfile
>>> examples/quickstart/tutorial/hadoop/docker/ssh_config
>>> examples/quickstart/tutorial/retention-index.json
>>> examples/quickstart/tutorial/rollup-data.json
>>> examples/quickstart/tutorial/rollup-index.json
>>> examples/quickstart/tutorial/transform-data.json
>>> examples/quickstart/tutorial/transform-index.json
>>> examples/quickstart/tutorial/updates-append-index.json
>>> examples/quickstart/tutorial/updates-append-index2.json
>>> examples/quickstart/tutorial/updates-data.json
>>> examples/quickstart/tutorial/updates-data2.json
>>> examples/quickstart/tutorial/updates-data3.json
>>> examples/quickstart/tutorial/updates-data4.json
>>> examples/quickstart/tutorial/updates-init-index.json
>>> examples/quickstart/tutorial/updates-overwrite-index.json
>>> examples/quickstart/tutorial/wikipedia-index-hadoop.json
>>> examples/quickstart/tutorial/wikipedia-index.json
>>> examples/quickstart/tutorial/wikipedia-kafka-supervisor.json
>>> examples/quickstart/tutorial/wikipedia-top-pages-sql.json
>>> examples/quickstart/tutorial/wikipedia-top-pages.json
>>> examples/quickstart/tutorial/wikiticker-2015-09-12-sampled.json.gz
>>> 
>>> examples/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extendedset/src/main/java/org/apache/druid/extendedset/intset/AbstractIntSet.java
>>> 
>>> extendedset/src/main/java/org/apache/druid/extendedset/intset/ConciseSet.java
>>> 
>>> extendedset/src/main/java/org/apache/druid/extendedset/intset/ConciseSetUtils.java
>>> extendedset/src/main/java/org/apache/druid/extendedset/intset/IntSet.java
>>> 
>>> extendedset/src/main/java/org/apache/druid/extendedset/utilities/IntList.java
>>> extensions-contrib/README.md
>>> 
>>> extensions-contrib/ambari-metrics-emitter/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/ambari-metrics-emitter/src/main/resources/defaultWhiteListMap.json
>>> 
>>> extensions-contrib/azure-extensions/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/cassandra-storage/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/distinctcount/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/graphite-emitter/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/graphite-emitter/src/main/resources/defaultWhiteListMap.json
>>> 
>>> extensions-contrib/influx-extensions/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/kafka-emitter/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/materialized-view-maintenance/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/materialized-view-selection/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/opentsdb-emitter/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> extensions-contrib/opentsdb-emitter/src/main/resources/defaultMetrics.json
>>> extensions-contrib/orc-extensions/example/hadoop_orc_job.json
>>> 
>>> extensions-contrib/orc-extensions/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/parquet-extensions/example/284a0e001476716b-56d5676f53bd6e85_115466471_data.0.parq
>>> extensions-contrib/parquet-extensions/example/date_test_data_job_date.json
>>> 
>>> extensions-contrib/parquet-extensions/example/date_test_data_job_string.json
>>> 
>>> extensions-contrib/parquet-extensions/example/impala_hadoop_parquet_job.json
>>> 
>>> extensions-contrib/parquet-extensions/example/test_date_data.snappy.parquet
>>> 
>>> extensions-contrib/parquet-extensions/example/wikipedia_hadoop_parquet_job.json
>>> extensions-contrib/parquet-extensions/example/wikipedia_list.parquet
>>> 
>>> extensions-contrib/parquet-extensions/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/rabbitmq/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/redis-cache/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/sqlserver-metadata-storage/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/statsd-emitter/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/statsd-emitter/src/main/resources/defaultMetricDimensions.json
>>> extensions-contrib/thrift-extensions/example/books.json
>>> 
>>> extensions-contrib/thrift-extensions/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> extensions-contrib/thrift-extensions/src/test/thrift/book.thrift
>>> 
>>> extensions-contrib/time-min-max/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-contrib/virtual-columns/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-core/avro-extensions/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> extensions-core/avro-extensions/src/test/avro/some-datum.avsc
>>> extensions-core/datasketches/README.md
>>> 
>>> extensions-core/datasketches/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-core/druid-basic-security/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-core/druid-bloom-filter/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-core/druid-kerberos/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-core/hdfs-storage/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-core/histogram/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-core/kafka-eight/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-core/kafka-indexing-service/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-core/mysql-metadata-storage/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-core/postgresql-metadata-storage/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-core/protobuf-extensions/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-core/s3-extensions/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> extensions-core/simple-client-sslcontext/README.md
>>> 
>>> extensions-core/simple-client-sslcontext/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> 
>>> extensions-core/stats/src/main/resources/META-INF/services/org.apache.druid.initialization.DruidModule
>>> integration-tests/.gitignore
>>> integration-tests/README.md
>>> integration-tests/docker-base/Dockerfile
>>> integration-tests/docker/broker.conf
>>> integration-tests/docker/coordinator.conf
>>> integration-tests/docker/historical.conf
>>> integration-tests/docker/kafka.conf
>>> integration-tests/docker/metadata-storage.conf
>>> integration-tests/docker/middlemanager.conf
>>> integration-tests/docker/overlord.conf
>>> integration-tests/docker/router-no-client-auth-tls.conf
>>> integration-tests/docker/router-permissive-tls.conf
>>> integration-tests/docker/router.conf
>>> integration-tests/docker/run-mysql.sh
>>> integration-tests/docker/sample-data.sql
>>> integration-tests/docker/supervisord.conf
>>> integration-tests/docker/tls/generate-client-certs-and-keystores.sh
>>> integration-tests/docker/tls/generate-expired-client-cert.sh
>>> integration-tests/docker/tls/generate-good-client-cert.sh
>>> integration-tests/docker/tls/generate-incorrect-hostname-client-cert.sh
>>> integration-tests/docker/tls/generate-invalid-intermediate-client-cert.sh
>>> integration-tests/docker/tls/generate-root-certs.sh
>>> integration-tests/docker/tls/generate-server-certs-and-keystores.sh
>>> integration-tests/docker/tls/generate-to-be-revoked-client-cert.sh
>>> integration-tests/docker/tls/generate-untrusted-root-client-cert.sh
>>> integration-tests/docker/tls/generate-valid-intermediate-client-cert.sh
>>> integration-tests/docker/tls/root.cnf
>>> integration-tests/docker/tls/root2.cnf
>>> integration-tests/docker/zookeeper.conf
>>> publications/demo/Makefile
>>> publications/demo/druid_demo.aux
>>> publications/demo/druid_demo.bbl
>>> publications/demo/druid_demo.bib
>>> publications/demo/druid_demo.blg
>>> publications/demo/druid_demo.out
>>> publications/demo/druid_demo.tex
>>> publications/demo/vldb.cls
>>> publications/radstack/.gitignore
>>> publications/radstack/Makefile
>>> publications/radstack/README.md
>>> publications/radstack/radstack.bib
>>> publications/radstack/radstack.tex
>>> publications/radstack/src/druid_plot.R
>>> publications/radstack/src/druid_tables.R
>>> publications/radstack/vldb.cls
>>> publications/whitepaper/.gitignore
>>> publications/whitepaper/Makefile
>>> publications/whitepaper/README.md
>>> publications/whitepaper/acm_proc_article-sp.cls
>>> publications/whitepaper/druid.bib
>>> publications/whitepaper/druid.tex
>>> publications/whitepaper/dummy.ps
>>> publications/whitepaper/modii658-yang.bib
>>> publications/whitepaper/modii658-yang.tex
>>> publications/whitepaper/sig-alternate-2013.cls
>>> publications/whitepaper/src/druid_plot.R
>>> publications/whitepaper/src/druid_tables.R
>>> server/src/main/resources/static/old-console/css/demo_table.css
>>> server/src/main/resources/static/old-console/css/jquery-ui-1.9.2.css
>>> server/src/main/resources/static/old-console/images/favicon.ico
>>> server/src/main/resources/static/old-console/js/jquery-1.11.0.min.js
>>> server/src/main/resources/static/old-console/js/jquery-ui-1.9.2.js
>>> server/src/main/resources/static/old-console/js/jquery.dataTables-1.8.2.js
>>> server/src/main/resources/static/old-console/js/underscore-1.2.2.js
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>>> On Oct 22, 2018, at 10:58 AM, Julian Hyde <jh...@apache.org> wrote:
>>>> 
>>>> Thanks for finding that list, David. There are a lot of things to
>>> check. Therefore, before voting +1 you need to do some due diligence, and
>>> with your vote you should describe how you validated the release.
>>>> 
>>>> For example, in a recent Calcite release thread[1] a typical vote
>>> looked like this:
>>>> 
>>>>> +1 (non-binding)
>>>>> - downloaded, checked gpg and sha256
>>>>> - compiled and ran tests ("mvn clean install") using JDK 8_162, 10.0.1
>>> on Fedora and Windows
>>>>> - ran simple queries via sqlline
>>>> 
>>>> Everyone should download the artifacts, check sha256 and gpg (asc)
>>> signatures, and compile the code.
>>>> 
>>>> Julian
>>>> 
>>>> [1]
>>> https://lists.apache.org/thread.html/c85d5f3cf1bbd9e28d76acd6905dee83cb54334c8b5d8979e1894648@%3Cdev.calcite.apache.org%3E
>>>> 
>>>>> On Oct 22, 2018, at 10:47 AM, David Lim <david.clarence....@gmail.com>
>>> wrote:
>>>>> 
>>>>> I believe what Julian wanted to highlight was this line in the
>>> announcement:
>>>>> 
>>>>>> As this is our first release under the Apache Incubator program, note
>>>>> that Apache has specific requirements that must be met before +1
>>> binding
>>>>> votes can be cast by PMC members. Please refer to the policy at
>>>>> http://www.apache.org/legal/release-policy.html#policy for more
>>> details.
>>>>> 
>>>>> Some of the statements in that document:
>>>>> 
>>>>> - Before casting +1 binding votes, individuals are REQUIRED to:
>>>>>  - download all signed source code packages onto their own hardware
>>>>>  - verify that they meet all requirements of ASF policy on releases,
>>> for
>>>>> example:
>>>>>      - Every ASF release MUST contain one or more source packages,
>>> which
>>>>> MUST be sufficient for a user to build and test the release provided
>>> they
>>>>> have access to the appropriate platform and tools
>>>>>      - All supplied packages MUST be cryptographically signed by the
>>>>> Release Manager with a detached signature
>>>>>      - Binary/bytecode package MUST have the same version number as
>>> the
>>>>> source release and MUST only add binary/bytecode files that are the
>>> result
>>>>> of compiling that version of the source code release and its
>>> dependencies
>>>>>      - Each package MUST provide a LICENSE file and a NOTICE file
>>> which
>>>>> account for the package's exact content. LICENSE and NOTICE MUST NOT
>>>>> provide unnecessary information about materials which are not bundled
>>> in
>>>>> the package, such as separately downloaded dependencies. For source
>>>>> packages, LICENSE and NOTICE MUST be located at the root of the
>>>>> distribution. For additional packages, they MUST be located in the
>>>>> distribution format's customary location for licensing materials, such
>>> as
>>>>> the META-INF directory of Java "jar" files.
>>>>>  - validate all cryptographic signatures
>>>>>  - compile as provided
>>>>>  - test the result on their own platform
>>>>> 
>>>>> Additionally, as an incubator project, we are required to have a
>>> DISCLAIMER
>>>>> file indicating that we are undergoing incubation.
>>>>> 
>>>>> One question I have: for the binary tarball package, we have a LICENSE
>>> and
>>>>> NOTICE file in the root of the distribution which is what we have
>>> always
>>>>> done, but I have not also included these files in the individual JAR
>>> files
>>>>> under META-INF. I thought that having them in the root would be
>>> sufficient,
>>>>> but now I'm thinking they might actually also need to be in each JAR
>>> file
>>>>> since those files will be made available through Maven independent of
>>> our
>>>>> tarball packaging. I checked the Maven artifacts for previous versions
>>> of
>>>>> Druid and they don't include the LICENSE and NOTICE file in the JAR,
>>> but it
>>>>> feels to me like this will be required. Thoughts welcome.
>>>>> 
>>>>> David
>>>>> 
>>>>> 
>>>>> 
>>>>> On Mon, Oct 22, 2018 at 9:04 AM Slim Bouguerra <
>>> slim.bougue...@gmail.com>
>>>>> wrote:
>>>>> 
>>>>>> Hey Julian
>>>>>> Thanks for pointing that out.
>>>>>> 
>>>>>> For the Apache related major changes please carefully review
>>>>>> https://github.com/apache/incubator-druid/labels/Apache
>>>>>> For bugs/features the release note is what you want to check
>>>>>> https://github.com/apache/incubator-druid/issues/6442/
>>>>>> 
>>>>>> 
>>>>>> On Sun, Oct 21, 2018 at 6:38 PM Fangjin Yang <fang...@imply.io>
>>> wrote:
>>>>>> 
>>>>>>> +1
>>>>>>> 
>>>>>>> On Sun, Oct 21, 2018 at 3:34 PM Julian Hyde <jh...@apache.org>
>>> wrote:
>>>>>>> 
>>>>>>>> Hey Slim,
>>>>>>>> 
>>>>>>>> Since this is an Apache release, and you've voted on Apache releases
>>>>>>>> before in Calcite and Hive, can you explain what you checked before
>>>>>>>> you voted "+1". There are many folks here who have not been through
>>>>>>>> the release process, and we veterans should show them the ropes.
>>>>>>>> 
>>>>>>>> Julian
>>>>>>>> 
>>>>>>>> On Sun, Oct 21, 2018 at 1:16 PM Slim Bouguerra <
>>>>>> slim.bougue...@gmail.com
>>>>>>>> 
>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>> +1
>>>>>>>>> 
>>>>>>>>>> On Oct 21, 2018, at 8:41 AM, David Lim <david...@apache.org>
>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>> Hi all,
>>>>>>>>>> 
>>>>>>>>>> I have created a build for Apache Druid (incubating) 0.13.0,
>>>>>> release
>>>>>>>>>> candidate 1.
>>>>>>>>>> 
>>>>>>>>>> Thanks to everyone who has contributed to this release! You can
>>>>>> read
>>>>>>>> the
>>>>>>>>>> proposed release notes here:
>>>>>>>>>> https://github.com/apache/incubator-druid/issues/6442
>>>>>>>>>> 
>>>>>>>>>> The release candidate has been tagged in GitHub as
>>>>>>>>>> druid-0.13.0-incubating-rc1 (acf15b4), available here:
>>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>> https://github.com/apache/incubator-druid/releases/tag/druid-0.13.0-incubating-rc1
>>>>>>>>>> 
>>>>>>>>>> The artifacts to be voted on are located here:
>>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>> https://dist.apache.org/repos/dist/dev/incubator/druid/apache-druid-0.13.0-incubating-rc1/
>>>>>>>>>> 
>>>>>>>>>> Release artifacts are signed with the following key:
>>>>>>>>>> https://people.apache.org/keys/committer/davidlim.asc. This key
>>>>>> and
>>>>>>>> the key
>>>>>>>>>> of other committers can also be found in the project's KEYS file
>>>>>>> here:
>>>>>>>>>> 
>>>>>>>>>> https://dist.apache.org/repos/dist/dev/incubator/druid/KEYS
>>>>>>>>>> 
>>>>>>>>>> (If you are a committer, please feel free to add your own key to
>>>>>> that
>>>>>>>> file
>>>>>>>>>> by following the instructions in the file's header.)
>>>>>>>>>> 
>>>>>>>>>> Please review the proposed artifacts and vote. As this is our
>>> first
>>>>>>>> release
>>>>>>>>>> under the Apache Incubator program, note that Apache has specific
>>>>>>>>>> requirements that must be met before +1 binding votes can be cast
>>>>>> by
>>>>>>>> PMC
>>>>>>>>>> members. Please refer to the policy at
>>>>>>>>>> http://www.apache.org/legal/release-policy.html#policy for more
>>>>>>>> details.
>>>>>>>>>> 
>>>>>>>>>> As part of the validation process, the release artifacts can be
>>>>>>>> generated
>>>>>>>>>> from source by running: mvn clean install -Papache-release -Dtar
>>>>>>>>>> 
>>>>>>>>>> This vote will be open for at least 72 hours but likely more, in
>>>>>>>> following
>>>>>>>>>> the Druid community's practice of deploying the RC to larger
>>>>>> clusters
>>>>>>>> and
>>>>>>>>>> allowing it to soak for a period of time to flush out any
>>> remaining
>>>>>>>> issues.
>>>>>>>>>> The vote will pass if a majority of at least three +1 PMC votes
>>> are
>>>>>>>> cast.
>>>>>>>>>> 
>>>>>>>>>> Once the vote has passed, the second stage vote will be called on
>>>>>> the
>>>>>>>>>> Apache Incubator mailing list to get approval from the Incubator
>>>>>> PMC.
>>>>>>>>>> 
>>>>>>>>>> [ ] +1 Release this package as Apache Druid (incubating) 0.13.0
>>>>>>>>>> [ ]  0 I don't feel strongly about it, but I'm okay with the
>>>>>> release
>>>>>>>>>> [ ] -1 Do not release this package because...
>>>>>>>>>> 
>>>>>>>>>> Thanks!
>>>>>>>>>> David
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>> ---------------------------------------------------------------------
>>>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@druid.apache.org
>>>>>>>>> For additional commands, e-mail: dev-h...@druid.apache.org
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: dev-unsubscr...@druid.apache.org
>>>>>>>> For additional commands, e-mail: dev-h...@druid.apache.org
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> 
>>>>>> B-Slim
>>>>>> 
>>> _______/\/\/\_______/\/\/\_______/\/\/\_______/\/\/\_______/\/\/\_______
>>>>>> 
>>>> 
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscr...@druid.apache.org
>>> For additional commands, e-mail: dev-h...@druid.apache.org
>>> 
>>> 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@druid.apache.org
For additional commands, e-mail: dev-h...@druid.apache.org

Reply via email to