disableSolrFieldCacheMBeanEntryListdisableConfigSetsCreateAuthCheckssolr.circuitbreaker.errorcode

See SIP-21: Standardize system property naming

As discussed in dev-list topic "[DISCUSS] Standardizing sysprop naming".

In this document we can draft a naming structure of the form solr.<top-cat>.<sub-cat>.<prop>.<name>

Analysis of solr source code structure

Below is an analysis of the source code structure in Solr, with candidate top-cat naming.

WhatFolder nametop-catsub-catComment
ModulesclusteringsearchclusteringDWS: probably doesn't deserve it's own top category

extractionindexupdate.extraction

gcs-repositorybackupgcs

hadoop-authsecurityauth.hadoop

hdfshdfs


jwt-authsecurityauth.jwt

langidindexupdate.langid

ltrsearchltr

opentelemetrytracing
Right now it is tracing, this module may later also handle logging or metrics?

s3-repositorybackups3

scriptingindexupdate.scriptingNote: subject-area could expand to beyond updates

sqlsearchsql
SolrJsolrjsolrj

Coreanalysisschemaanalysis

apiapi??


clicli


clientsolrj
This is same as solrj?

cloudoverseer??
Bad name, there is "overseer" and "api" below

clustercluster??
These are really cluster plugins / singletons...

corecore??
Is 'core' helpful here?This hides 'backup.repository' which overlaps with modules..

filestorefilestore


handlerhandler???
Inside "handler" are all kinds of features, needs to be broken down on feature level

highlightsearchhighlight

indexindexmergepolicyContains mostly merge policies

internal---
Contains "csv" tools

jerseyapi
Jax-RS related API code

legacy---


logginglogging


metricsmetrics


packagemanager

packages




parsersearchqueryparserQuery parsing

pkg---
Related to package management

querysearchqueryContains two query impls that are in Solr and not in Lucene. "query" is perhaps a nice top-level cat

requestsearchrequestContains all kids of request related classes, faceting, DV, QueryRequest etc 

responsesearchresponseResponse writers, json, xml csv... and transformers

restschemaanalysisManaged resources in schema

schemaschemaanalysisField types.etc

searchsearch
Lots of sub categories


searchfacet


searchfunction


searchgrouping


searchjoin


searchmlt


searchvector


searchsimilarities


searchstats

securitysecurityauthSecurity could also have sub-cat for SSL etc


securityaudit


securityauthz

servlet---
Jetty related

spellingsearchspellcheck

uninverting---


updateindexupdate

util

Various


circuitbreaker



tracing







(other)configset



collection



zookeeper



adminui



ui
Admin UI

Analysis of currently used system property names

Using a python script with regex rules, I extracted all system property names read in the codebase, either with System.getProperty(), Boolean.getBoolean() or EnvUtils.getProp*().

Below is an alphabetical list of all discovered sysprop keys, with a proposed mapping to a normalized structure. Link to Jira issues for those props that are actually changed:

propertyproposedcommentCOMPLETED?

authenticationPlugin

solr.security.auth.plugin
DONE
basicauthsolr.security.auth.basicauth.credentials
DONE
bootstrap_conf???Is this the legacy bootstrapping based on pre-existing config on disk?  Eric: emailed dev@ to ask about eliminating thisREMOVED

bootstrap_confdir

solr.configset.bootstrap.confdir  Eric: emailed dev@ to ask about eliminating this.DONE

bucketVersionLockTimeoutMs

solr.index.updatelog.bucketversionlock.timeout.msin <updateHandler> in solrconfig.xml. - Eric says, I didn't find it in main!REMOVED

cloudSolrClientMaxStaleRetries

solr.solrj.cloud.max.stale.retries
DONE

collection.configName

solr.configset.bootstrap.config.nameNot used as system property.  Eric: This is SET as a sys prop but through weird logicDONE

configset.upload.enabled

solr.configset.upload.enabled
DONE
createZkChrootsolr.zookeeper.chroot.createEric: we have no tests for this...  tried in bats, but it only works with standalone zk, not embedded zk.  we need it in embedded zk.DONE

disable.configEdit

solr.configset.edit.disabledERic: I went with solr.configset.edit.enabled default to trueDONE
disable.v2.apisolr.api.v2.disabledEric: I went with solr.api.v2.enabled default to trueDONE
disableAdminUIsolr.ui.disabled
DONE

disableSolrFieldCacheMBeanEntryList

solr.metrics.fieldcache.entries.disabled
DONE

disableSolrFieldCacheMBeanEntryListJmx


Remove this; seems redundantDONE

doNotWeakenSecureRandom


in benchmarking and obscure; just leave it

enable.packages

solr.packages.enabled
DONE

enable.update.log

solr.index.updatelog.enabled
DONE
gc.log.opts??

hadoop.home.dir



REMOVED

hadoop.security.credential.provider.path



REMOVED

hadoopauth.tracehttp

solr.security.auth.hadoop.tracehttp
REMOVED
hostsolr.host.advertise 

Jetty level, see SOLR-15442 - Getting issue details... STATUS

DONE
solr.jetty.hostsolr.host.bind

SOLR-15442 - Getting issue details... STATUS

DONE

solr.port.advertise

 

no change


jetty.port

solr.port.listen

SOLR-15442 - Getting issue details... STATUS

DONE

solr.jetty.https.port

solr.port.listen

SOLR-15442 - Getting issue details... STATUS

DONE

java.security.auth.login.config


Jetty level

javax.net.ssl.keyStorePassword


Jetty level

javax.net.ssl.trustStorePassword


Jetty level

javax.security.auth.useSubjectCredsOnly


Jetty level
jetty.port
Jetty level

max.file.store.size

solr.filestore.filesize.maxDistribFileStoreDONE

prepRecoveryReadTimeoutExtraWait

solr.cloud.preprecoveryreadtimeoutadditional.msEric: I went with solr.cloud.prep.recovery.read.timeout.additional.msDONE
runtime.lib.size
BlobRepositoryREMOVED

solr.allow.unsafe.resourceloading

solr.resourceloading.restrictedInvert meaning; default to true.  ERic: How about solr.resourceloading.restricted.enabled=trueDONE

solr.alwaysOnTraceId

solr.tracing.always.on.enabled
DONE

solr.auth.jwt.allowOutboundHttp

solr.auth.jwt.outbound.http.enabled
DONE

solr.authorization.superuser

solr.auth.superuser
DONE

solr.circuitbreaker.errorcode

solr.circuitbreaker.errorcodeEric: no change???
solr.data.dir


solr.data.home


solr.default.confdir



DONE

solr.deleteUnknownCores

solr.cloud.startup.delete.unknown.cores.enabled
DONE

solr.disable.allowUrls

solr.requests.allow.urls
DONE

solr.disable.shardsWhitelist

solr.requests.allow.urlsRemoved deprecated valueDONE

solr.disableConfigSetsCreateAuthChecks

solr.configset.create.auth.checks.disablederic: I think this is no longer used in 10.REMOVED

solr.disableFingerprint

solr.index.replication.fingerprint.disabled
DONE

solr.disableRequestId

solr.tracing.requestid.disabledthe feature goes away in 10?

solr.dns.prevent.reverse.lookup

solr.admin.handler.systeminfo.dns.reverse.lookup.enabled
DONE

solr.enableRemoteStreaming

solr.requests.streaming.remote.enabled
DONE

solr.enableStreamBody

solr.requests.streaming.body.enabled
DONE
solr.environment


solr.facet.stream.tiered

solr.streamingexpressions.facet.tiered.enabled
DONE

solr.hdfs.blockcache.global



REMOVED
solr.hdfs.confdir

REMOVED
solr.hdfs.home

REMOVED

solr.hdfs.sync.block



REMOVED

solr.hiddenSysProps

solr.responses.hidden.sys.props
DONE

solr.hideStackTrace

solr.responses.stacktrace.disablederic: what about being solr.responses.stacktrace.enabled, and it defaults to false?DONE
solr.home
In ZkCli, should it be solr.solr.home?

solr.http.disableCookies

solr.http.cookies.disable
https://github.com/apache/solr/pull/3833/
solr.http1


solr.httpclient.builder.factory




solr.httpclient.builder.factory




solr.httpclient.config




solr.httpclient.socketFactory.registry.provider


won't rename, it belongs to a client that is only used in tests and in the test-framework and we will get rid of.
solr.install.dir


solr.jaas.debug


solr.jetty.https.port




solr.jetty.keystore.password




solr.jetty.truststore.password




solr.kerberos.cookie.domain




solr.kerberos.cookie.portaware




solr.kerberos.delegation.token.enabled




solr.kerberos.jaas.appname




solr.keyStoreReload.enabled

solr.keystore.reload.enabled ???There is a related solr.jetty.sslContext.reload.scanInterval, what should that be?     the variable it sets is keyStoreReloadIntervalSecs so maybe solr.keystore.reload.interval.secs?DONE
solr.log.dir


solr.log.level


solr.log.muteconsole




solr.log.requestlog.enabled

solr.logs.requestlog.enabled
https://github.com/apache/solr/pull/3856

solr.log.requestlog.retaindays

solr.logs.requestlog.retain.days
https://github.com/apache/solr/pull/3856
solr.modules


solr.node.roles


solr.pki.acceptVersions




solr.pki.sendVersion




solr.placementplugin.default




solr.redaction.system.pattern




solr.security.aclautorepair.disable




solr.shardSplit.checkDiskSpace.enabled

solr.index.shardsplit.checkdiskspace.enabled
DONE
solr.solr.home


solr.solrxml.required




solr.ssl.checkPeerName

solr.ssl.check.peer.name.enabled ?Also related solr.jetty.ssl.sniHostCheck, could be solr.jetty.ssl.sni.host.check.enabled

solr.ssl.credential.provider.chain




solr.traceHostName

solr.trace.host.name?

solr.traceIdHeader

solr.trace.id.header?

solr.ui.headers.csp.connect-src.urls




solr.use.str.intern




solr.useExitableDirectoryReader



REMOVED!
solr.v2RealPath

NO LONGER EXISTS

solr.zk.embedded.host




solr.zookeeper.connectionStrategy



NO LONGER EXISTS

solrcloud.skip.autorecovery




solrConfigSetForbiddenFileTypes

solr.configset.forbidden.file.types
DONE

StreamingExpressionMacros

solr.streamingexpressions.macros.enabledset to falseDONE
urlSchemesolr.cloud.url.scheme???

useCachedStatsBetweenGetMBeanInfoCalls



NO LONGER EXISTS
zkACLProvidersolr.zookeeper.client.credentials.acl.provider?

zkCredentialsInjector

solr.zookeeper.client.credentials.injector?

zkCredentialsProvider

solr.zookeeper.client.credentials.provider??

zkDigestCredentialsFile

solr.zookeeper.client.credentials.file??

zkHost

DONE
zkRunsolr.zookeeper.server.enablednow a boolean not a stringDONE
zkRunOnly

REMOVED
zkServerConfDirsolr.zookeeper.server.confdir
DONE
zkServerDataDirsolr.zookeeper.server.datadir
DONE

zookeeper.4lw.commands.whitelist


PR opened, but really requires modifying ZK project so wont' doWONT DO





waitForZk

solr.cloud.wait.for.zk.secondsFound during code review by Smiley, was previouysly SOLR_WAIT_FOR_ZK maybe?DONE

solr.prs.default

solr.cloud.prs.enabled
DONE

zkConnectTimeout

solr.zookeeper.client.connect.timeout(see SolrZkClientTimeout.java for more)Done

solr.allowPaths

solr.security.allow.paths
DONE

solr.allowUrls

solr.security.allow.urlsWe already added the solr.security.allow.urls.enabled which controls this behavior being used.DONE

Test code




managed.schema.mutable

solr.schema.managed.mutable

solr.directoryFactory




tests.jettySsl


tests.jettySsl.clientAuth




tests.luceneMatchVersion




tests.seed


tests.shardhandler.randomSeed




tests.src.home


tests.verbose


tests.zk.limiterAction




tests.zk.violationReportAction




solr.tests.cloud.cm.connloss




solr.tests.cloud.cm.enabled




solr.tests.cloud.cm.exp




solr.tests.cloud.cm.runlength




solr.tests.cloud.cm.shardcount




solr.tests.cloud.cm.slicecount




solr.tests.EnumFieldTest.indexed




solr.tests.EnumFieldType




solr.tests.IntegerFieldType




solr.tests.numeric.dv




solr.tests.ramBufferSizeMB




solr.tests.ramPerThreadHardLimitMB




solr.tests.use.iptables












  • No labels