Slackbot
02/28/2023, 8:13 PMGian Merlino
03/01/2023, 2:23 AM["druid-histogram", "druid-datasketches", "druid-lookups-cached-global", "postgresql-metadata-storage", "druid-multi-stage-query"]
Rather than druid_extensions_loadList=["druid-histogram", "druid-datasketches", "druid-lookups-cached-global", "postgresql-metadata-storage", "druid-multi-stage-query"]Gian Merlino
03/01/2023, 2:23 AMJosh Walker
03/02/2023, 9:00 PMdruid_indexer_runner_javaOptsArray=["-server", "-Xmx1g", "-Xms1g", "-XX:MaxDirectMemorySize=3g", "-Duser.timezone=UTC", "-Dfile.encoding=UTF-8", "-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager"]
and
druid_extensions_loadList=["druid-histogram", "druid-datasketches", "druid-lookups-cached-global", "postgresql-metadata-storage", "druid-multi-stage-query", "druid-kafka-indexing-service"]
I'm fairly sure they are being provided to the containers correctly.
It's potentially interesting to note that for the ..._javaOptsArray variable if you remove the -Duser. and the -DFile. options it doesn't throw the parse error. It seems to throw the error always when it comes to the loadList variable tough.Josh Walker
03/02/2023, 9:02 PMGian Merlino
03/07/2023, 1:36 PMJosh Walker
03/07/2023, 2:24 PMJosh Walker
03/13/2023, 5:02 PMbash-5.1$ echo $druid_indexer_runner_javaOptsArray
["-server", "-Xmx1g", "-Xms1g", "-XX:MaxDirectMemorySize=3g", "-Duser.timezone=UTC", "-Dfile.encoding=UTF-8", "-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager"]
bash-5.1$ echo $druid_extensions_loadList
["druid-histogram", "druid-datasketches", "druid-lookups-cached-global", "postgresql-metadata-storage", "druid-multi-stage-query", "druid-kafka-indexing-service"]
I only see the following log output:
2023-03-12T23:21:47+00:00 startup service
Setting 25.0.1.126= in /tmp/conf/druid/cluster/misc/druid.host/runtime.properties
sed: bad regex '["-server", "-Xmx1g", "-Xms1g", "-XX:MaxDirectMemorySize=3g", "-Duser.timezone=UTC", "-Dfile.encoding=UTF-8", "-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager"]=': Invalid range end
I reread over the docs and it seems that using env vars to set the config state is the preferred way of doing things - just that then it comes to production you may wish to split up your environment files into service specific ones.
It works fine locally with docker so I don't know what's causing these weird issues. I guess the only option is to try the more production approach of having the DRUID_COMMON_CONFIG set to a custom config file, although that's going to have a bit more friction when testing just now.Gian Merlino
03/13/2023, 9:01 PMSetting 25.0.1.126= looks like values are getting confused for keysGian Merlino
03/13/2023, 9:02 PMsed error you get is from a line of code in a script that is trying to deal with a keyGian Merlino
03/13/2023, 9:02 PMJosh Walker
03/13/2023, 9:06 PMDRUID_COMMON_CONFIG approach 🤷♂️Gian Merlino
03/13/2023, 9:10 PMJosh Walker
03/13/2023, 9:13 PMGian Merlino
03/13/2023, 9:21 PMJosh Walker
03/13/2023, 11:15 PMdruid.sh with any service name argument. Hence why everything was being put in misc as seen in /tmp/conf/druid/cluster/misc/. The lesson here is don't try to wrangle new software and a new orchestration tool at the same time.Gian Merlino
03/13/2023, 11:17 PMSERVICE="$1" at the top of druid.shGian Merlino
03/13/2023, 11:18 PMJosh Walker
03/13/2023, 11:21 PM# It takes one required argument (the name of the service,
# e.g. 'broker', 'historical' etc). Any additional arguments
# are passed to that service.
I guess if an argument was strictly required then I'd expect it to error out if one wasn't provided. Maybe people have found a use for running it without one though? Perhaps even a warning message when the first argument is not a valid service name would be a possible improvement.