druid/extensions-core
Gian Merlino 5ce3185b9c Fix three bugs with segment publishing. (#6155)
* Fix three bugs with segment publishing.

1. In AppenderatorImpl: always use a unique path if requested, even if the segment
   was already pushed. This is important because if we don't do this, it causes
   the issue mentioned in #6124.
2. In IndexerSQLMetadataStorageCoordinator: Fix a bug that could cause it to return
   a "not published" result instead of throwing an exception, when there was one
   metadata update failure, followed by some random exception. This is done by
   resetting the AtomicBoolean that tracks what case we're in, each time the
   callback runs.
3. In BaseAppenderatorDriver: Only kill segments if we get an affirmative false
   publish result. Skip killing if we just got some exception. The reason for this
   is that we want to avoid killing segments if they are in an unknown state.

Two other changes to clarify the contracts a bit and hopefully prevent future bugs:

1. Return SegmentPublishResult from TransactionalSegmentPublisher, to make it
more similar to announceHistoricalSegments.
2. Make it explicit, at multiple levels of javadocs, that a "false" publish result
must indicate that the publish _definitely_ did not happen. Unknown states must be
exceptions. This helps BaseAppenderatorDriver do the right thing.

* Remove javadoc-only import.

* Updates.

* Fix test.

* Fix tests.
2018-08-15 13:55:53 -07:00
..
avro-extensions Remove redundant type parameters and enforce some other style and inspection rules (#5980) 2018-07-27 16:56:49 -05:00
datasketches Implemented makeAggregateCombiner() in ArrayOfDoublesSketchAggregatorFactory (#6093) 2018-08-13 14:19:11 -07:00
druid-basic-security Prohibit Lists.newArrayList() with a single argument (#6068) 2018-07-31 20:09:10 -07:00
druid-kerberos Fix ClassNotFoundException in druid-kerberos extension (#4776) 2018-07-27 16:23:09 -07:00
hdfs-storage Remove redundant type parameters and enforce some other style and inspection rules (#5980) 2018-07-27 16:56:49 -05:00
histogram Further optimize memory for Travis jobs (#6150) 2018-08-10 22:03:36 -07:00
kafka-eight Update license headers. (#5976) 2018-07-11 09:55:18 -07:00
kafka-extraction-namespace Remove redundant type parameters and enforce some other style and inspection rules (#5980) 2018-07-27 16:56:49 -05:00
kafka-indexing-service Fix three bugs with segment publishing. (#6155) 2018-08-15 13:55:53 -07:00
lookups-cached-global Part 2 of changes for SQL Compatible Null Handling (#5958) 2018-08-02 08:20:25 -07:00
lookups-cached-single Part 2 of changes for SQL Compatible Null Handling (#5958) 2018-08-02 08:20:25 -07:00
mysql-metadata-storage Update license headers. (#5976) 2018-07-11 09:55:18 -07:00
postgresql-metadata-storage Update license headers. (#5976) 2018-07-11 09:55:18 -07:00
protobuf-extensions Remove redundant type parameters and enforce some other style and inspection rules (#5980) 2018-07-27 16:56:49 -05:00
s3-extensions Native parallel batch indexing without shuffle (#5492) 2018-08-06 23:59:42 -07:00
simple-client-sslcontext Update license headers. (#5976) 2018-07-11 09:55:18 -07:00
stats Further optimize memory for Travis jobs (#6150) 2018-08-10 22:03:36 -07:00