Slackbot
09/15/2023, 1:42 AMBen Krug
09/15/2023, 1:50 AMsriramdas sivasai
09/15/2023, 1:56 AMBen Krug
09/15/2023, 2:01 AMKrishna
09/15/2023, 5:21 AMsriramdas sivasai
09/15/2023, 1:14 PMBen Krug
09/15/2023, 5:14 PMsriramdas sivasai
09/16/2023, 4:59 PMsriramdas sivasai
09/16/2023, 5:02 PMArun C
09/16/2023, 6:39 PMArun C
09/16/2023, 6:40 PMArun C
09/16/2023, 6:40 PMArun C
09/16/2023, 6:40 PMArun C
09/16/2023, 6:43 PMArun C
09/16/2023, 6:45 PMArun C
09/16/2023, 6:58 PMsriramdas sivasai
09/17/2023, 12:10 AMjava.util.concurrent.TimeoutException: Timeout waiting for task.
at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:269) ~[guava-16.0.1.jar:?]
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:96) ~[guava-16.0.1.jar:?]
at org.apache.druid.indexing.seekablestream.supervisor.SeekableStreamSupervisor.coalesceAndAwait(SeekableStreamSupervisor.java:4126) ~[druid-indexing-service-25.0.0.jar:25.0.0]
at org.apache.druid.indexing.seekablestream.supervisor.SeekableStreamSupervisor.updateCurrentOffsets(SeekableStreamSupervisor.java:3771) ~[druid-indexing-service-25.0.0.jar:25.0.0]
at org.apache.druid.indexing.seekablestream.supervisor.SeekableStreamSupervisor.updateCurrentAndLatestOffsets(SeekableStreamSupervisor.java:3738) ~[druid-indexing-service-25.0.0.jar:25.0.0]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
at java.lang.Thread.run(Thread.java:829) ~[?:?]
2023-08-30T20:43:35,587 WARN [IndexTaskClient-data5g-1] org.apache.druid.java.util.common.RetryUtils - Retrying (1 of 9) in 1,196ms.
org.skife.jdbi.v2.exceptions.UnableToObtainConnectionException: java.sql.SQLException: Cannot get a connection, general error
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:142) ~[druid-server-25.0.0.jar:25.0.0]
at org.apache.druid.java.util.common.RetryUtils.retry(RetryUtils.java:129) ~[druid-core-25.0.0.jar:25.0.0]
at org.apache.druid.java.util.common.RetryUtils.retry(RetryUtils.java:81) ~[druid-core-25.0.0.jar:25.0.0]
at org.apache.druid.java.util.common.RetryUtils.retry(RetryUtils.java:163) ~[druid-core-25.0.0.jar:25.0.0]
at org.apache.druid.java.util.common.RetryUtils.retry(RetryUtils.java:153) ~[druid-core-25.0.0.jar:25.0.0]
at org.apache.druid.metadata.SQLMetadataConnector.retryWithHandle(SQLMetadataConnector.java:142) ~[druid-server-25.0.0.jar:25.0.0]
at org.apache.druid.metadata.SQLMetadataConnector.retryWithHandle(SQLMetadataConnector.java:152) ~[druid-server-25.0.0.jar:25.0.0]
at org.apache.druid.metadata.SQLMetadataStorageActionHandler.getStatus(SQLMetadataStorageActionHandler.java:257) ~[druid-server-25.0.0.jar:25.0.0]
at org.apache.druid.indexing.overlord.MetadataTaskStorage.getStatus(MetadataTaskStorage.java:191) ~[druid-indexing-service-25.0.0.jar:25.0.0]
at org.apache.druid.indexing.seekablestream.supervisor.SeekableStreamSupervisor$2.getTaskStatus(SeekableStreamSupervisor.java:862) ~[druid-indexing-service-25.0.0.jar:25.0.0]
at org.apache.druid.indexing.common.IndexTaskClient.submitRequest(IndexTaskClient.java:322) ~[druid-indexing-service-25.0.0.jar:25.0.0]
at org.apache.druid.indexing.common.IndexTaskClient.submitRequestWithEmptyContent(IndexTaskClient.java:219) ~[druid-indexing-service-25.0.0.jar:25.0.0]
at org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskClientSyncImpl.getCurrentOffsets(SeekableStreamIndexTaskClientSyncImpl.java:279) ~[druid-indexing-service-25.0.0.jar:25.0.0]
at org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskClientSyncImpl.lambda$getCurrentOffsetsAsync$6(SeekableStreamIndexTaskClientSyncImpl.java:407) ~[druid-indexing-service-25.0.0.jar:25.0.0]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
at java.lang.Thread.run(Thread.java:829) ~[?:?]
Caused by: java.sql.SQLException: Cannot get a connection, general error
at org.apache.commons.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:131) ~[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]
... 19 more
Caused by: java.lang.InterruptedException
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056) ~[?:?]
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090) ~[?:?]
at org.apache.commons.pool2.impl.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:524) ~[commons-pool2-2.2.jar:2.2]
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:438) ~[commons-pool2-2.2.jar:2.2]
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:361) ~[commons-pool2-2.2.jar:2.2]
at org.apache.commons.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:119) ~[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]
... 19 more
2023-08-30T20:43:35,587 WARN [IndexTaskClient-data5g-2] org.apache.druid.java.util.common.RetryUtils - Retrying (1 of 9) in 1,240ms.
org.skife.jdbi.v2.exceptions.UnableToObtainConnectionException: java.sql.SQLException: Cannot get a connection, general error
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:142) ~[druid-server-25.0.0.jar:25.0.0]
at org.apache.druid.java.util.common.RetryUtils.retry(RetryUtils.java:129) ~[druid-core-25.0.0.jar:25.0.0]
at org.apache.druid.java.util.common.RetryUtils.retry(RetryUtils.java:81) ~[druid-core-25.0.0.jar:25.0.0]
at org.apache.druid.java.util.common.RetryUtils.retry(RetryUtils.java:163) ~[druid-core-25.0.0.jar:25.0.0]
at org.apache.druid.java.util.common.RetryUtils.retry(RetryUtils.java:153) ~[druid-core-25.0.0.jar:25.0.0]
at org.apache.druid.metadata.SQLMetadataConnector.retryWithHandle(SQLMetadataConnector.java:142) ~[druid-server-25.0.0.jar:25.0.0]
at org.apache.druid.metadata.SQLMetadataConnector.retryWithHandle(SQLMetadataConnector.java:152) ~[druid-server-25.0.0.jar:25.0.0]
at org.apache.druid.metadata.SQLMetadataStorageActionHandler.getStatus(SQLMetadataStorageActionHandler.java:257) ~[druid-server-25.0.0.jar:25.0.0]
at org.apache.druid.indexing.overlord.MetadataTaskStorage.getStatus(MetadataTaskStorage.java:191) ~[druid-indexing-service-25.0.0.jar:25.0.0]
at org.apache.druid.indexing.seekablestream.supervisor.SeekableStreamSupervisor$2.getTaskStatus(SeekableStreamSupervisor.java:862) ~[druid-indexing-service-25.0.0.jar:25.0.0]
at org.apache.druid.indexing.common.IndexTaskClient.submitRequest(IndexTaskClient.java:322) ~[druid-indexing-service-25.0.0.jar:25.0.0]
at org.apache.druid.indexing.common.IndexTaskClient.submitRequestWithEmptyContent(IndexTaskClient.java:219) ~[druid-indexing-service-25.0.0.jar:25.0.0]
at org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskClientSyncImpl.getCurrentOffsets(SeekableStreamIndexTaskClientSyncImpl.java:279) ~[druid-indexing-service-25.0.0.jar:25.0.0]
at org.apache.druid.indexing.seekablestream.SeekableStreamIndexTaskClientSyncImpl.lambda$getCurrentOffsetsAsync$6(SeekableStreamIndexTaskClientSyncImpl.java:407) ~[druid-indexing-service-25.0.0.jar:25.0.0]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
at java.lang.Thread.run(Thread.java:829) ~[?:?]
Caused by: java.sql.SQLException: Cannot get a connection, general error
at org.apache.commons.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:131) ~[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]
... 19 more
Caused by: java.lang.InterruptedException
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056) ~[?:?]
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090) ~[?:?]
at org.apache.commons.pool2.impl.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:524) ~[commons-pool2-2.2.jar:2.2]
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:438) ~[commons-pool2-2.2.jar:2.2]
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:361) ~[commons-pool2-2.2.jar:2.2]
at org.apache.commons.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:119) ~[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]
... 19 moresriramdas sivasai
09/17/2023, 12:11 AMArun C
09/17/2023, 12:13 AMsriramdas sivasai
09/17/2023, 12:15 AMdruid.global.http.numConnections=100Arun C
09/17/2023, 12:16 AMArun C
09/17/2023, 12:18 AMBen Krug
09/17/2023, 6:33 PMBen Krug
09/17/2023, 6:36 PMSHOW CREATE TABLE tablename; to see the current scheme, and compare.)
4. ANALYZE/OPTIMIZE TABLE
If the data is cleaned up and the indexes are up-to-date, but queries are still slow (eg, taking seconds to run), then optimizing the table might help.
In MySQL, first try, eg, ANALYZE TABLE druid.segments. This updates cardinality statistics for the indexes, which might help if there have been a lot of updates or deletes over time and cardinality stats are out of date. ANALYZE is a very quick operation.
In some cases, ANALYZE doesn't help, but OPTIMIZE does. OPTIMIZE takes longer. (In one case I saw, about 20 minutes, but that's unusual.) It's an "online" operation, meaning it won't interrupt or block other operations. You'll see a message saying that OPTIMIZE isn't supported for InnoDB tables, and it's using RECREATE+ANALYZE instead. That's expected and OK. OPTIMIZE (or, in this case RECREATE+ANALYZE) makes a new copy of the table, copies data over, analyzes, and switches to the new table and drops the old one. Sometimes this dramatically improves performance. (For whatever reason - usually people say it's defragmentation, although some people argue with that.)Bibek Sahoo
09/18/2023, 3:33 AMsriramdas sivasai
09/24/2023, 2:00 AMBibek Sahoo
09/24/2023, 2:11 AMBibek Sahoo
09/24/2023, 2:12 AM