...
ID | IEP-55 |
Author | |
Sponsor | |
Created | |
Status | |
Motivation
...
Other configuration formats are open for discussion throughout the IEP finalization.
Keys order restriction
Both HOCON and JSON formats don't preserve keys order when parsed, it's a part of the specification. So it's proposed to have extra syntax for elements that require strict order:
Code Block |
---|
firstline | 1 |
---|
title | HOCON keys order |
---|
|
// Default syntax.
root.namedList {
key1 { value = val1 },
key2 { value = val2 }
}
// Specific syntax for when order must be preserved.
root.namedList = [
{ elementName = key1, value = val1 },
{ elementName = key2, value = val2 }
] |
Global and local properties
...
Global and local properties are naturally stored in different configuration trees, for example cluster and node respectively:
...
language | text |
---|
title | Global tree |
---|
...
Code Block |
---|
language | text |
---|
title | Local tree |
---|
|
node.rebalance.threads = 4 |
...
Appendix A - Full list of configuration properties
Last updated: May 11 2022
Code Block |
---|
language | text |
---|
title | Node-local properties |
---|
|
clientConnector.port
clientConnector.portRange
clientConnector.connectTimeout
clientConnector.idleTimeout
compute.threadPoolSize
compute.threadPoolStopTimeoutMillis
network.port
network.portRange
network.shutdownQuietPeriod
network.shutdownTimeout
network.inbound.soBacklog
network.inbound.soReuseAddr
network.inbound.soKeepAlive
network.inbound.soLinger
network.inbound.tcpNoDelay
network.outbound.soKeepAlive
network.outbound.soLinger
network.outbound.tcpNoDelay
network.membership.membershipSyncInterval
network.membership.failurePingInterval
network.membership.scaleCube.membershipSuspicionMultiplier
network.membership.scaleCube.failurePingRequestMembers
network.membership.scaleCube.gossipInterval
network.nodeFinder.type
network.nodeFinder.netClusterNodes
rest.port
rest.portRange |
Code Block |
---|
language | text |
---|
title | Cluster-wide properties |
---|
|
pageMemory.defaultRegion.pageSize
pageMemory.defaultRegion.persistent
pageMemory.defaultRegion.initSize
pageMemory.defaultRegion.maxSize
pageMemory.defaultRegion.memoryAllocator.type
pageMemory.defaultRegion.evictionMode
pageMemory.defaultRegion.replacementMode
pageMemory.defaultRegion.evictionThreshold
pageMemory.defaultRegion.emptyPagesPoolSize
pageMemory.defaultRegion.checkpointPageBufSize
pageMemory.defaultRegion.lazyMemoryAllocation
pageMemory.regions.<name>.* # same properties as in default region
rocksDb.defaultRegion.size
rocksDb.defaultRegion.writeBufferSize
rocksDb.defaultRegion.cache
rocksDb.defaultRegion.numShardBits
rocksDb.regions.<name>.* # same properties as in default region |
Risks and Assumptions
New configuration approach will require more effort from existing users during migration. Additionally, it will require a thorough configuration revisit and clear separation of global and local properties.
...
https://github.com/lightbend/config
Open Tickets
Jira |
---|
server | ASF JIRA |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
maximumIssues | 20 |
---|
jqlQuery | project = IGNITE AND (labels = iep-55 OR "Epic Link" = IGNITE-14904) AND status NOT IN (resolved, closed) |
---|
serverId | 5aa69414-a9e9-3523-82ec-879b028fb15b |
---|
|
Closed Tickets
Jira |
---|
server | ASF JIRA |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
maximumIssues | 20 |
---|
jqlQuery | project = IGNITE AND (labels = iep-55 OR "Epic Link" = IGNITE-14904) AND status IN (resolved, closed) |
---|
serverId | 5aa69414-a9e9-3523-82ec-879b028fb15b |
---|
|
...