Skip to content

Merge branch 'main' into fixRTS #175

Merge branch 'main' into fixRTS

Merge branch 'main' into fixRTS #175

GitHub Actions / IntegrationTests_1010 Test Reports succeeded Nov 14, 2024 in 1s

78 passed, 12 failed and 0 skipped

Tests failed

Report Passed Failed Skipped Time
IntegrationTests_1010-artifacts/internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml 39✅ 6❌ 1866s
internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml 39✅ 6❌ 1866s

❌ IntegrationTests_1010-artifacts/internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml

45 tests were completed in 1866s with 39 passed, 6 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.linkedin.venice.endToEnd.DaVinciClientTest 39✅ 6❌ 1866s

❌ com.linkedin.venice.endToEnd.DaVinciClientTest

✅ testBatchStore[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testBatchStore[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testBlobP2PTransferAmongDVC
✅ testBootstrap[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testBootstrap[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testConcurrentGetAndStart
✅ testCrashedDaVinciWithIngestionIsolation
✅ testDVCSnapshotGeneration[0](false)
✅ testDVCSnapshotGeneration[2](true)
✅ testDavinciSubscribeFailureWithFullDisk
✅ testHybridStore
✅ testHybridStoreWithoutIngestionIsolation[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testHybridStoreWithoutIngestionIsolation[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testIngestionIsolation
✅ testObjectReuse[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testObjectReuse[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testPartialSubscription[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testPartialSubscription[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testReadCompressedData[0](NO_OP)
✅ testReadCompressedData[2](GZIP)
✅ testReadCompressedData[4](ZSTD_WITH_DICT)
✅ testRecordTransformer[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testRecordTransformer[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testRecordTransformerChunking[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testRecordTransformerChunking[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testRecordTransformerOnRecovery[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testRecordTransformerOnRecovery[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testRecordTransformerWithEmptyDaVinci[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testRecordTransformerWithEmptyDaVinci[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testSkipResultRecordTransformer[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testSkipResultRecordTransformer[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testStatusReportDuringBoostrap[0](BUILT_IN)
✅ testStatusReportDuringBoostrap[2](ISOLATED)
✅ testSubscribeAndUnsubscribe
❌ testTypeChangeRecordTransformer[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
	com.linkedin.venice.hadoop.exceptions.VeniceInconsistentSchemaException: Inconsistent file Avro schema found. File: int2string.avro.
❌ testTypeChangeRecordTransformer[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
	com.linkedin.venice.hadoop.exceptions.VeniceInconsistentSchemaException: Inconsistent file Avro schema found. File: int2string.avro.
❌ testUnchangedResultRecordTransformer[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
	com.linkedin.venice.hadoop.exceptions.VeniceInconsistentSchemaException: Inconsistent file Avro schema found. File: int2string.avro.
❌ testUnchangedResultRecordTransformer[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
	com.linkedin.venice.hadoop.exceptions.VeniceInconsistentSchemaException: Inconsistent file Avro schema found. File: int2string.avro.
✅ testUnsubscribeBeforeFutureGet
✅ testTypeChangeRecordTransformer[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testTypeChangeRecordTransformer[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
❌ testUnchangedResultRecordTransformer[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
	com.linkedin.venice.hadoop.exceptions.VeniceInconsistentSchemaException: Inconsistent file Avro schema found. File: int2string.avro.
❌ testUnchangedResultRecordTransformer[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
	com.linkedin.venice.hadoop.exceptions.VeniceInconsistentSchemaException: Inconsistent file Avro schema found. File: int2string.avro.
✅ testUnchangedResultRecordTransformer[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testUnchangedResultRecordTransformer[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})

❌ internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml

45 tests were completed in 1866s with 39 passed, 6 failed and 0 skipped.

Test suite Passed Failed Skipped Time
com.linkedin.venice.endToEnd.DaVinciClientTest 39✅ 6❌ 1866s

❌ com.linkedin.venice.endToEnd.DaVinciClientTest

✅ testBatchStore[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testBatchStore[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testBlobP2PTransferAmongDVC
✅ testBootstrap[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testBootstrap[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testConcurrentGetAndStart
✅ testCrashedDaVinciWithIngestionIsolation
✅ testDVCSnapshotGeneration[0](false)
✅ testDVCSnapshotGeneration[2](true)
✅ testDavinciSubscribeFailureWithFullDisk
✅ testHybridStore
✅ testHybridStoreWithoutIngestionIsolation[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testHybridStoreWithoutIngestionIsolation[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testIngestionIsolation
✅ testObjectReuse[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testObjectReuse[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testPartialSubscription[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testPartialSubscription[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testReadCompressedData[0](NO_OP)
✅ testReadCompressedData[2](GZIP)
✅ testReadCompressedData[4](ZSTD_WITH_DICT)
✅ testRecordTransformer[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testRecordTransformer[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testRecordTransformerChunking[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testRecordTransformerChunking[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testRecordTransformerOnRecovery[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testRecordTransformerOnRecovery[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testRecordTransformerWithEmptyDaVinci[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testRecordTransformerWithEmptyDaVinci[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testSkipResultRecordTransformer[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testSkipResultRecordTransformer[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
✅ testStatusReportDuringBoostrap[0](BUILT_IN)
✅ testStatusReportDuringBoostrap[2](ISOLATED)
✅ testSubscribeAndUnsubscribe
❌ testTypeChangeRecordTransformer[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
	com.linkedin.venice.hadoop.exceptions.VeniceInconsistentSchemaException: Inconsistent file Avro schema found. File: int2string.avro.
❌ testTypeChangeRecordTransformer[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
	com.linkedin.venice.hadoop.exceptions.VeniceInconsistentSchemaException: Inconsistent file Avro schema found. File: int2string.avro.
❌ testUnchangedResultRecordTransformer[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
	com.linkedin.venice.hadoop.exceptions.VeniceInconsistentSchemaException: Inconsistent file Avro schema found. File: int2string.avro.
❌ testUnchangedResultRecordTransformer[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
	com.linkedin.venice.hadoop.exceptions.VeniceInconsistentSchemaException: Inconsistent file Avro schema found. File: int2string.avro.
✅ testUnsubscribeBeforeFutureGet
✅ testTypeChangeRecordTransformer[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testTypeChangeRecordTransformer[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
❌ testUnchangedResultRecordTransformer[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
	com.linkedin.venice.hadoop.exceptions.VeniceInconsistentSchemaException: Inconsistent file Avro schema found. File: int2string.avro.
❌ testUnchangedResultRecordTransformer[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})
	com.linkedin.venice.hadoop.exceptions.VeniceInconsistentSchemaException: Inconsistent file Avro schema found. File: int2string.avro.
✅ testUnchangedResultRecordTransformer[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})
✅ testUnchangedResultRecordTransformer[2](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=ObjectCacheConfig{maxCacheSize=Optional.empty, ttlInMilliseconds=Optional.empty}, largeBatchRequestSplitThreshold=100})

Annotations

Check failure on line 342 in clients/venice-push-job/src/main/java/com/linkedin/venice/hadoop/DefaultInputDataInfoProvider.java

See this annotation in the file changed.

@github-actions github-actions / IntegrationTests_1010 Test Reports

com.linkedin.venice.endToEnd.DaVinciClientTest ► testTypeChangeRecordTransformer[0](DaVinciConfig{managed=true, isolated=false, storageClass=MEMORY_BACKED_BY_DISK, cacheConfig=null, largeBatchRequestSplitThreshold=100})

Failed test found in:
  IntegrationTests_1010-artifacts/internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml
  IntegrationTests_1010-artifacts/internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml
  IntegrationTests_1010-artifacts/internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml
  IntegrationTests_1010-artifacts/internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml
  IntegrationTests_1010-artifacts/internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml
  IntegrationTests_1010-artifacts/internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml
  internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml
  internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml
  internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml
  internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml
  internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml
  internal/venice-test-common/build/test-results/integrationTests_1010/TEST-com.linkedin.venice.endToEnd.DaVinciClientTest.xml
Error:
  com.linkedin.venice.hadoop.exceptions.VeniceInconsistentSchemaException: Inconsistent file Avro schema found. File: int2string.avro.
Raw output
com.linkedin.venice.hadoop.exceptions.VeniceInconsistentSchemaException: Inconsistent file Avro schema found. File: int2string.avro.
 Expected file schema: [ {"type":"record","name":"AvroFileRecord","namespace":"example.avro","doc":"File Schema For Test Push","fields":[{"name":"value","type":"int","doc":""},{"name":"key","type":"int","doc":""}]}, "int" ].
 Real File schema: [ {"type":"record","name":"AvroFileRecord","namespace":"example.avro","doc":"File Schema For Test Push","fields":[{"name":"value","type":"string","doc":""},{"name":"key","type":"int","doc":""}]}, "string" ].
	at app//com.linkedin.venice.hadoop.DefaultInputDataInfoProvider.lambda$checkAvroSchemaConsistency$3(DefaultInputDataInfoProvider.java:342)
	at app//com.linkedin.venice.hadoop.DefaultInputDataInfoProvider.lambda$parallelExecuteHDFSOperation$2(DefaultInputDataInfoProvider.java:247)
	at [email protected]/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at [email protected]/java.lang.Thread.run(Thread.java:840)