Server failing to create PoolableConnectionFactory. Failing with SCRAM-based authentication error.
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- kubernetes, postgresql
- Domain
- databases, infrastructure
Research direction
Start by tracing the PostgreSQL connection setup around Apache Druid's SQLMetadataConnector and BasicDataSourceExt entry points shown in the stack trace, then inspect how the coordinator receives its database password in the Kubernetes deployment. Reproduce the failure with SCRAM-based PostgreSQL authentication and verify that the coordinator starts successfully with the configured password.
Written by the indexing model from the issue text.
Description
Affected Stackable version
nightly
Affected Apache Druid version
28.0.1
Current and expected behavior
A couple notes about our setup:
- We are using
postGRESas our metadata storage. - The metadata storage is using
sha-scram-256for password encryption (this was verified).
When trying the nightly build as of 2024/7/30 12:23PM MDT, all services successfully go online except for the coordinator, which has this error:
org.skife.jdbi.v2.exceptions.UnableToObtainConnectionException: java.sql.SQLException: Cannot create PoolableConnectionFactory (The server requested SCRAM-based authentication, but no password was provided.)
at org.skife.jdbi.v2.DBI.open(DBI.java:230) ~[jdbi-2.63.1.jar:2.63.1]
at org.skife.jdbi.v2.DBI.withHandle(DBI.java:279) ~[jdbi-2.63.1.jar:2.63.1]
at org.apache.druid.metadata.SQLMetadataConnector.lambda$retryWithHandle$0(SQLMetadataConnector.java:151) ~[druid-server-28.0.1.jar:28.0.1]
at org.apache.druid.java.util.common.RetryUtils.retry(RetryUtils.java:129) ~[druid-processing-28.0.1.jar:28.0.1]
at org.apache.druid.java.util.common.RetryUtils.retry(RetryUtils.java:81) ~[druid-processing-28.0.1.jar:28.0.1]
at org.apache.druid.java.util.common.RetryUtils.retry(RetryUtils.java:163) ~[druid-processing-28.0.1.jar:28.0.1]
at org.apache.druid.java.util.common.RetryUtils.retry(RetryUtils.java:153) ~[druid-processing-28.0.1.jar:28.0.1]
at org.apache.druid.metadata.SQLMetadataConnector.retryWithHandle(SQLMetadataConnector.java:151) ~[druid-server-28.0.1.jar:28.0.1]
at org.apache.druid.metadata.SQLMetadataConnector.retryWithHandle(SQLMetadataConnector.java:161) ~[druid-server-28.0.1.jar:28.0.1]
at org.apache.druid.metadata.SQLMetadataConnector.createTable(SQLMetadataConnector.java:212) ~[druid-server-28.0.1.jar:28.0.1]
at org.apache.druid.metadata.SQLMetadataConnector.createConfigTable(SQLMetadataConnector.java:388) ~[druid-server-28.0.1.jar:28.0.1]
at org.apache.druid.metadata.SQLMetadataConnector.createConfigTable(SQLMetadataConnector.java:715) ~[druid-server-28.0.1.jar:28.0.1]
at org.apache.druid.guice.JacksonConfigManagerModule$1.start(JacksonConfigManagerModule.java:58) ~[druid-processing-28.0.1.jar:28.0.1]
at org.apache.druid.java.util.common.lifecycle.Lifecycle.start(Lifecycle.java:341) ~[druid-processing-28.0.1.jar:28.0.1]
at org.apache.druid.guice.LifecycleModule$2.start(LifecycleModule.java:152) ~[druid-processing-28.0.1.jar:28.0.1]
at org.apache.druid.cli.GuiceRunnable.initLifecycle(GuiceRunnable.java:136) ~[druid-services-28.0.1.jar:28.0.1]
at org.apache.druid.cli.GuiceRunnable.initLifecycle(GuiceRunnable.java:94) ~[druid-services-28.0.1.jar:28.0.1]
at org.apache.druid.cli.ServerRunnable.run(ServerRunnable.java:63) ~[druid-services-28.0.1.jar:28.0.1]
at org.apache.druid.cli.Main.main(Main.java:112) ~[druid-services-28.0.1.jar:28.0.1]
Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (The server requested SCRAM-based authentication, but no password was provided.)
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2152) ~[commons-dbcp2-2.0.1.jar:2.0.1]
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:1903) ~[commons-dbcp2-2.0.1.jar:2.0.1]
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1413) ~[commons-dbcp2-2.0.1.jar:2.0.1]
at org.skife.jdbi.v2.DataSourceConnectionFactory.openConnection(DataSourceConnectionFactory.java:36) ~[jdbi-2.63.1.jar:2.63.1]
at org.skife.jdbi.v2.DBI.open(DBI.java:212) ~[jdbi-2.63.1.jar:2.63.1]
... 18 more
Caused by: org.postgresql.util.PSQLException: The server requested SCRAM-based authentication, but no password was provided.
at org.postgresql.core.v3.ConnectionFactoryImpl.lambda$doAuthentication$4(ConnectionFactoryImpl.java:838) ~[?:?]
at org.postgresql.core.v3.AuthenticationPluginManager.withPassword(AuthenticationPluginManager.java:81) ~[?:?]
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:835) ~[?:?]
at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:203) ~[?:?]
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:258) ~[?:?]
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:54) ~[?:?]
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:263) ~[?:?]
at org.postgresql.Driver.makeConnection(Driver.java:443) ~[?:?]
at org.postgresql.Driver.connect(Driver.java:297) ~[?:?]
at org.apache.druid.metadata.BasicDataSourceExt.lambda$createConnectionFactory$0(BasicDataSourceExt.java:185) ~[druid-server-28.0.1.jar:28.0.1]
at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:205) ~[commons-dbcp2-2.0.1.jar:2.0.1]
at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2162) ~[commons-dbcp2-2.0.1.jar:2.0.1]
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2148) ~[commons-dbcp2-2.0.1.jar:2.0.1]
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:1903) ~[commons-dbcp2-2.0.1.jar:2.0.1]
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1413) ~[commons-dbcp2-2.0.1.jar:2.0.1]
at org.skife.jdbi.v2.DataSourceConnectionFactory.openConnection(DataSourceConnectionFactory.java:36) ~[jdbi-2.63.1.jar:2.63.1]
at org.skife.jdbi.v2.DBI.open(DBI.java:212) ~[jdbi-2.63.1.jar:2.63.1]
... 18 more
Possible solution
No response
Additional context
No response
Environment
AKS
Would you like to work on fixing this bug?
None
- Dominant language
- Rust
- Stars
- 12
- Forks
- 1
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 10
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from stackabletech/druid-operator
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
stackabletech/druid-operator#692 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
stackabletech/druid-operator#647 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 30/100
stackabletech/druid-operator#646 ·
-
type/bug
Difficulty 5/5 Over a week Newbie friendliness 20/100
stackabletech/druid-operator#606 · 3 comments ·
-
Dependency Dashboard Open
Difficulty 2/5 1-3 hours Newbie friendliness 30/100
stackabletech/druid-operator#569 ·
All issues in stackabletech/druid-operator
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
stratum-mining/stratum#2404 ·
-
bug ci good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100