gianm opened a new pull request #6155: Fix three bugs with segment publishing.
URL: https://github.com/apache/incubator-druid/pull/6155
 
 
   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.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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

Reply via email to