gianm opened a new pull request #10631:
URL: https://github.com/apache/druid/pull/10631


   Three bugs fixed:
   
   1) Indexers would not announce themselves as segment servers if they
      did not have storage locations defined. This used to work, but was
      broken in #9971. Fixed this by adding an "isSegmentServer" method
      to ServerType and updating SegmentLoadDropHandler to always announce
      if this method returns true.
   
   2) Certain batch task types were written in a way that assumed "isReady"
      would be called before "run", which is not guaranteed. In particular,
      they relied on it in order to initialize "taskLockHelper". Fixed this
      by updating AbstractBatchIndexTask to ensure "isReady" is called
      before "run" for these tasks.
   
   3) UnifiedIndexerAppenderatorsManager did not properly handle complex
      datasources. Introduced DataSourceAnalysis in order to fix this.
   
   Test changes:
   
   1) Add a new "docker-compose.cli-indexer.yml" config that spins up an
      Indexer instead of a MiddleManager.
   
   2) Introduce a "USE_INDEXER" environment variable that determines if
      docker-compose will start up an Indexer or a MiddleManager.
   
   3) Duplicate all the jdk8 tests and run them in both MiddleManager and
      Indexer mode.
   
   4) Various adjustments to encourage fail-fast errors in the Docker
      build scripts.
   
   5) Various adjustments to speed up integration tests and reduce memory
      usage.
   
   6) Add another Mac-specific approach to determining a machine's own IP.
      This was useful on my development machine.
   
   7) Update segment-count check in ITCompactionTaskTest to eliminate a
      race condition (it was looking for 6 segments, which only exist
      together briefly, until the older 4 are marked unused).
   
   Javadoc updates:
   
   1) AbstractBatchIndexTask: Added javadocs to determineLockGranularityXXX
      that make it clear when taskLockHelper will be initialized as a side
      effect. (Related to the second bug above.)
   
   2) Task: Clarified that "isReady" is not guaranteed to be called before
      "run". It was already implied, but now it's explicit.
   
   3) ZkCoordinator: Clarified deprecation message.
   
   4) DataSegmentServerAnnouncer: Clarified deprecation message.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to