kfaraz commented on code in PR #19025:
URL: https://github.com/apache/druid/pull/19025#discussion_r2835836876


##########
processing/src/main/java/org/apache/druid/query/DruidProcessingConfig.java:
##########
@@ -202,5 +206,10 @@ public boolean isNumMergeBuffersConfigured()
   {
     return numMergeBuffersConfigured;
   }
+
+  public boolean isParallelPoolInit()

Review Comment:
   1-line javadoc might be helpful here.



##########
docs/configuration/index.md:
##########
@@ -1636,6 +1637,7 @@ Druid uses Jetty to serve HTTP requests.
 |`druid.processing.numTimeoutThreads`|The number of processing threads to have 
available for handling per-segment query timeouts. Setting this value to `0` 
removes the ability to service per-segment timeouts, irrespective of 
`perSegmentTimeout` query context parameter. As these threads are just 
servicing timers, it's recommended to set this value to some small percent 
(e.g. 5%) of the total query processing cores available to the historical.|0|
 |`druid.processing.fifo`|If the processing queue should treat tasks of equal 
priority in a FIFO manner|`true`|
 |`druid.processing.tmpDir`|Path where temporary files created while processing 
a query should be stored. If specified, this configuration takes priority over 
the default `java.io.tmpdir` path.|path represented by `java.io.tmpdir`|
+|`druid.processing.parallelPoolInit`|(EXPERIMENTAL) Allows all 
merge/processing pools to be allocated in parallel on process launch. This 
significantly speeds up node launch times.|`false`|

Review Comment:
   +1, since the property is listed under the respective types, we might as 
well say "speeds up Broker launch times" and "speeds up Historical launch 
times".



##########
docs/configuration/index.md:
##########
@@ -1380,6 +1380,7 @@ Processing properties set on the Middle Manager are 
passed through to Peons.
 |`druid.processing.fifo`|Enables the processing queue to treat tasks of equal 
priority in a FIFO manner.|`true`|
 |`druid.processing.tmpDir`|Path where temporary files created while processing 
a query should be stored. If specified, this configuration takes priority over 
the default `java.io.tmpdir` path.|path represented by `java.io.tmpdir`|
 |`druid.processing.intermediaryData.storage.type`|Storage type for 
intermediary segments of data shuffle between native parallel index tasks. <br 
/>Set to `local` to store segment files in the local storage of the Middle 
Manager or Indexer. <br />Set to `deepstore` to use configured deep storage for 
better fault tolerance during rolling updates. When the storage type is 
`deepstore`, Druid stores the data in the `shuffle-data` directory under the 
configured deep storage path. Druid does not support automated cleanup for the 
`shuffle-data` directory. You can set up cloud storage lifecycle rules for 
automated cleanup of data at the `shuffle-data` prefix location.|`local`|
+|`druid.processing.parallelPoolInit`|(EXPERIMENTAL) Allows all 
merge/processing pools to be allocated in parallel on process launch. This 
significantly speeds up node launch times.|`false`|

Review Comment:
   Please include this update in the other places too, and also call out the 
potential caveat with the locking/starvation if the node doesn't have enough 
resources.



##########
processing/src/main/java/org/apache/druid/query/DruidProcessingConfig.java:
##########
@@ -86,6 +89,7 @@ public DruidProcessingConfig(
     this.tmpDir = Configs.valueOrDefault(tmpDir, 
System.getProperty("java.io.tmpdir"));
     this.buffer = Configs.valueOrDefault(buffer, new 
DruidProcessingBufferConfig());
     this.indexes = Configs.valueOrDefault(indexes, new 
DruidProcessingIndexesConfig());
+    this.parallelPoolInit = parallelPoolInit != null && parallelPoolInit;

Review Comment:
   Nit: easier to follow
   ```suggestion
       this.parallelPoolInit = Configs.valueOrDefault(parallelPoolInit, false);
   ```



##########
docs/configuration/index.md:
##########
@@ -1380,6 +1380,7 @@ Processing properties set on the Middle Manager are 
passed through to Peons.
 |`druid.processing.fifo`|Enables the processing queue to treat tasks of equal 
priority in a FIFO manner.|`true`|
 |`druid.processing.tmpDir`|Path where temporary files created while processing 
a query should be stored. If specified, this configuration takes priority over 
the default `java.io.tmpdir` path.|path represented by `java.io.tmpdir`|
 |`druid.processing.intermediaryData.storage.type`|Storage type for 
intermediary segments of data shuffle between native parallel index tasks. <br 
/>Set to `local` to store segment files in the local storage of the Middle 
Manager or Indexer. <br />Set to `deepstore` to use configured deep storage for 
better fault tolerance during rolling updates. When the storage type is 
`deepstore`, Druid stores the data in the `shuffle-data` directory under the 
configured deep storage path. Druid does not support automated cleanup for the 
`shuffle-data` directory. You can set up cloud storage lifecycle rules for 
automated cleanup of data at the `shuffle-data` prefix location.|`local`|
+|`druid.processing.parallelPoolInit`|(EXPERIMENTAL) Allows all 
merge/processing pools to be allocated in parallel on process launch. This 
significantly speeds up node launch times.|`false`|

Review Comment:
   (Maybe also include an estimate of what qualifies as a "big" number of 
"large" buffers so that operators know when to turn this on)
   ```suggestion
   |`druid.processing.parallelPoolInit`|(EXPERIMENTAL) Allows all 
merge/processing pools to be allocated in parallel on process launch. This may 
significantly speed up node launch times if allocating several large 
buffers.|`false`|
   ```



##########
website/.spelling:
##########
@@ -1883,6 +1883,7 @@ minTopNThreshold
 parallelMergeInitialYieldRows
 parallelMergeParallelism
 parallelMergeSmallBatchRows
+parallelPoolInit

Review Comment:
   Did the spellcheck fail? I was under the impression that back-quoted stuff 
was exempt from spelling checks.



-- 
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.

To unsubscribe, e-mail: [email protected]

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