austin macciola
01/27/2023, 4:07 PMBROKER_SEGMENT_UNAVAILABLE_ERROR_CODE = 305
It seems we cannot get them to recover once we have fixed the storage limitations. And the only way to resolve the issue is a full rebuild of the Pinot cluster.
Attached is a quick screen recording of myself just poking around the Pinot Cluster Manager UI to show some of the errorsLvszn Peng
01/28/2023, 9:27 AMSteven Hall
01/28/2023, 4:38 PMCaused by: java.lang.ClassCastException: class io.strimzi.kafka.oauth.client.JaasClientOauthLoginCallbackHandler cannot be cast to class org.apache.pinot.shaded.org.apache.kafka.common.security.auth.AuthenticateCallbackHandler (io.strimzi.kafka.oauth.client.JaasClientOauthLoginCallbackHandler and org.apache.pinot.shaded.org.apache.kafka.common.security.auth.AuthenticateCallbackHandler are in unnamed module of loader 'app')
I took a look at the strimzi package. JaasClientOauthLoginCallbackHandler implements apache.kafka.common.security.auth.AuthenticateCallbackHandler
So this error makes sense. The strimzi package does not implement org.apache.pinot.shaded.org.apache.kafka.common.security.auth.AuthenticateCallbackHandler
OK, seems I need to shade the strimzi package so that JaasClientOauthLoginCallbackHandler implements org.apache.pinot.shaded.org.apache.kafka.common.security.auth.AuthenticateCallbackHandler
First, is my analysis correct?
What is a general outline of the change that needs to be made?
Should this be done in the pinot-controller pom?
What is the process for shading the strimzi package? I gave this a go in the main pom and it seemingly had no affect. So apparently I am missing something.
If I unpack the uber jar after the build what would I expect to see?
What is the impact on any dependencies that the strimzi jar may include?
ThanksRichard Walker
01/30/2023, 7:50 AM[
{
"message": "SQLParsingError:\njava.lang.RuntimeException: Error composing query plan for: select ID from testRecords\n\tat org.apache.pinot.query.QueryEnvironment.planQuery(QueryEnvironment.java:143)\n\tat org.apache.pinot.broker.requesthandler.MultiStageBrokerRequestHandler.handleRequest(MultiStageBrokerRequestHandler.java:157)\n\tat org.apache.pinot.broker.requesthandler.MultiStageBrokerRequestHandler.handleRequest(MultiStageBrokerRequestHandler.java:132)\n\tat org.apache.pinot.broker.requesthandler.BrokerRequestHandler.handleRequest(BrokerRequestHandler.java:47)\n...\nCaused by: java.lang.UnsupportedOperationException: unsupported!\n\tat org.apache.pinot.query.type.TypeFactory.toRelDataType(TypeFactory.java:82)\n\tat org.apache.pinot.query.type.TypeFactory.createRelDataTypeFromSchema(TypeFactory.java:49)\n\tat org.apache.pinot.query.catalog.PinotTable.getRowType(PinotTable.java:49)\n\tat org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:161)",
"errorCode": 150
}
]
This is both with queries on a single table, and queries using a join.
Any help would be greatly appreciated!Huaqiang He
01/30/2023, 8:59 AMLASTWITHTIME
and FIRSTWITHTIME
. The first 2 arguments are column name, which can be unquoted or double quoted. The function also returns something when the column name is single quoted, but the returned value is probably not the expected. How about returning an error when the column name is single quoted?Mathieu Alexandre
01/30/2023, 1:46 PMEnzo DECHAENE
01/31/2023, 2:14 PMAyush Kumar Jha
02/01/2023, 6:30 AMcontroller.host=hostname
controller.port=80
controller.access.protocols.http.port=80
controller.helix.cluster.name=PinotCluster
controller.zk.str=zookeeper-links
controller.enable.split.commit=true
controller.data.dir=<abfs://path/to/data/directory>
controller.local.temp.dir=/tmp/
pinot.controller.storage.factory.class.adl2=org.apache.pinot.plugin.filesystem.ADLSGen2PinotFS
pinot.controller.storage.factory.adl2.accountName=accountname
pinot.controller.storage.factory.adl2.accessKey=accesskey
pinot.controller.storage.factory.adl2.fileSystemName=fs-name
pinot.controller.segment.fetcher.protocols=file,http,adl2,abfs
pinot.controller.segment.fetcher.adl2.class=org.apache.pinot.common.utils.fetcher.PinotFSSegmentFetcher
controller.offlineSegmentIntervalChecker.initialDelayInSeconds=172800
but when trying to start the controller getting this error
Caused by: java.lang.IllegalStateException: PinotFS for scheme: abfs has not been initialized
at org.apache.pinot.shaded.com.google.common.base.Preconditions.checkState(Preconditions.java:518) ~[pinot-all-0.11.0-jar-with-dependencies.jar:0.11.0-1b4d6b6b0a27422c1552ea1a936ad145056f7033]
at org.apache.pinot.spi.filesystem.PinotFSFactory.create(PinotFSFactory.java:78) ~[pinot-all-0.11.0-jar-with-dependencies.jar:0.11.0-1b4d6b6b0a27422c1552ea1a936ad145056f7033]
at org.apache.pinot.controller.api.resources.ControllerFilePathProvider.<init>(ControllerFilePathProvider.java:70) ~[pinot-all-0.11.0-jar-with-dependencies.jar:0.11.0-1b4d6b6b0a27422c1552ea1a936ad145056f7033]
at org.apache.pinot.controller.api.resources.ControllerFilePathProvider.init(ControllerFilePathProvider.java:49) ~[pinot-all-0.11.0-jar-with-dependencies.jar:0.11.0-1b4d6b6b0a27422c1552ea1a936ad145056f7033]
at org.apache.pinot.controller.BaseControllerStarter.initControllerFilePathProvider(BaseControllerStarter.java:553) ~[pinot-all-0.11.0-jar-with-dependencies.jar:0.11.0-1b4d6b6b0a27422c1552ea1a936ad145056f7033]
When I give the path to local directory in this parameter controller.data.dir=/home/centos/pinot-segments
this works fine
ThanksLee Wei Hern Jason
02/01/2023, 9:42 AMunknown
. From the code, i notice that it is always setting pinot.broker.request.client.ip.logging
to the default false. Is there a way to enable this ? or identify who is querying ?
2. I am trying to isolate only query console using to only users and admin has all access. This config queryConsoleOnlyView
is on cluster level. I saw this discussion https://github.com/apache/pinot/pull/6685 , will this config come out on user level in 13 release ?Maaz
02/01/2023, 11:18 AMMathieu Alexandre
02/01/2023, 10:24 PMTable name: test_OFFLINE does not match table type: REALTIME.
They exist in zookeeper and documents can be queried. Am i missing something ?Michael Latta
02/01/2023, 10:54 PMAlice
02/02/2023, 9:58 AMLC
02/02/2023, 5:02 PMPhil Sarkis
02/02/2023, 6:52 PMPhil Sarkis
02/02/2023, 6:53 PMaustin macciola
02/02/2023, 10:38 PM/debug/tables/<tablename>
api on one of my realtime tables i get the following response
[
{
"tableName": "template_solution_events_REALTIME",
"numSegments": 1810,
"numServers": 3,
"numBrokers": 3,
"segmentDebugInfos": [],
"serverDebugInfos": [
{
"serverName": "Server_pinot-server-2.pinot-server-headless.pinot.svc.cluster.local_8098",
"numMessages": 6,
"errors": 8
}
],
"brokerDebugInfos": [],
"tableSize": {
"reportedSize": "98 GB",
"estimatedSize": "98 GB"
},
"ingestionStatus": {
"ingestionState": "UNHEALTHY",
"errorMessage": "Did not get any response from servers for segment: template_solution_events__0__112__20230202T1852Z"
}
}
]
I am also having multiple segments show up as BAD
in the Pinot UIAlice
02/03/2023, 8:29 AMAbhishek Tomar
02/03/2023, 7:15 PMAshwin Raja
02/03/2023, 10:56 PM[Consumer clientId=dataset-version.52863422-abdf-4f69-b47a-ff166941bad2-0, groupId=null] Seeking to offset 1725541 for partition dataset-version.52863422-abdf-4f69-b47a-ff166941bad2-0
4
[Consumer clientId=dataset-version.52863422-abdf-4f69-b47a-ff166941bad2-0, groupId=null] Fetch position FetchPosition{offset=1725541, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[<http://b-1.streaming3azs.ak740j.c14.kafka.us-west-2.amazonaws.com:9092|b-1.streaming3azs.ak740j.c14.kafka.us-west-2.amazonaws.com:9092> (id: 1 rack: usw2-az1)], epoch=0}} is out of range for partition dataset-version.52863422-abdf-4f69-b47a-ff166941bad2-0, resetting offset
3
[Consumer clientId=dataset-version.52863422-abdf-4f69-b47a-ff166941bad2-0, groupId=null] Resetting offset for partition dataset-version.52863422-abdf-4f69-b47a-ff166941bad2-0 to position FetchPosition{offset=34007, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[<http://b-1.streaming3azs.ak740j.c14.kafka.us-west-2.amazonaws.com:9092|b-1.streaming3azs.ak740j.c14.kafka.us-west-2.amazonaws.com:9092> (id: 1 rack: usw2-az1)], epoch=0}}.
2
Consumed 0 events from (rate:0.0/s), currentOffset=1725541, numRowsConsumedSoFar=0, numRowsIndexedSoFar=0
so it looks like Pinot sees that that offset is out of range and tries to reset the offset, but then right after that it's still using a currentOffset
for the out of range offset?Alice
02/04/2023, 4:32 PMShubham Kumar
02/06/2023, 2:40 PMroot, org.reflections, org.apache.pinot.tools.admin
Can someone help with these doubts:
1. I had set log level to OFF for all the loggers but somehow I was still getting all the server logs. So, changing log levels does not affect server logging?
2. Which logger is responsible for which type of logging?Rakesh Bobbala
02/06/2023, 6:18 PM{
"executionFrameworkSpec": {
"name": "standalone",
"segmentGenerationJobRunnerClassName": "org.apache.pinot.plugin.ingestion.batch.standalone.SegmentGenerationJobRunner",
"segmentTarPushJobRunnerClassName": "org.apache.pinot.plugin.ingestion.batch.standalone.SegmentTarPushJobRunner",
"segmentUriPushJobRunnerClassName": "org.apache.pinot.plugin.ingestion.batch.standalone.SegmentUriPushJobRunner",
"segmentMetadataPushJobRunnerClassName": "org.apache.pinot.plugin.ingestion.batch.standalone.SegmentMetadataPushJobRunner"
},
"jobType": "SegmentCreationAndMetadataPush",
"inputDirURI": "<s3://test/spark_dumps/>",
"includeFileNamePattern": "glob:**/*.csv",
"searchRecursively": true,
"outputDirURI": "<s3://test/output/>",
"overwriteOutput": true,
"pinotFSSpecs": [
{
"scheme": "s3",
"className": "org.apache.pinot.plugin.filesystem.S3PinotFS"
}
],
"recordReaderSpec": {
"dataFormat": "csv",
"className": "org.apache.pinot.plugin.inputformat.csv.CSVRecordReader",
"configClassName": "org.apache.pinot.plugin.inputformat.csv.CSVRecordReaderConfig"
},
"tableSpec": {
"tableName": "backend_batch"
},
"pinotClusterSpecs": [
{
"controllerURI": "<http://localhost:9000>"
}
],
"pushJobSpec": {
"pushParallelism": 2,
"pushAttempts": 2,
"pushRetryIntervalMillis": 1000,
"segmentUriSuffix": "backend_batch/"
}
}
However, I couldn't upload the segment through the API as it accepts payload in binary format
Can someone help me to troubleshoot this ?Amol
02/07/2023, 12:46 AMpinot-controller ClusterIP 10.111.116.243 <none> 9000/TCP 97m
pinot-controller-external LoadBalancer 10.103.171.255 <pending> 9000:32611/TCP 97m
Lvszn Peng
02/07/2023, 3:06 AMAbhishek Tomar
02/07/2023, 9:40 AMpiby
02/07/2023, 12:50 PMMaaz
02/08/2023, 5:20 AMUnexpected error
Error: {'message': 'UNAVAILABLE: io exception\nChannel Pipeline:
[SslHandler#0, ProtocolNegotiators$ClientTlsHandler#0, WriteBufferingAndExceptionHandler#0, DefaultChannelPipeline$TailContext#0]',
'errorCode': 65536, 'errorName': 'GENERIC_INTERNAL_ERROR', 'errorType': 'INTERNAL_ERROR', 'boolean': False, 'failureInfo':
{'type': 'io.grpc.StatusRuntimeException', 'message': 'UNAVAILABLE: io exception\nChannel Pipeline:
[SslHandler#0, ProtocolNegotiators$ClientTlsHandler#0, WriteBufferingAndExceptionHandler#0, DefaultChannelPipeline$TailContext#0]',
'cause': {'type': 'javax.net.ssl.SSLHandshakeException',
'message': 'PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target', 'cause': {'type': 'sun.security.validator.ValidatorException',
'message': 'PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException
unable to find valid certification path to requested target', 'cause': {'type': 'sun.security.provider.certpath.SunCertPathBuilderException',
'message': 'unable to find valid certification path to requested target', 'suppressed': [],
'stack': ['sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)',
'sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)',
'java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)', 'sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:451)',
'sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:323)', 'sun.security.validator.Validator.validate(Validator.java:271)',
'sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:315)',
'sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:278)', '
sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:141)', '
sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:632)',
'sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)', '
sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)',
'sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:377)', 'sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)',
'sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:981)',
'sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:968)',
'java.security.AccessController.doPrivileged(Native Method)', 'sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:915)',
'io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.runAllDelegatedTasks(SslHandler.java:1550)',
'io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.access$1900(SslHandler.java:167)',
'io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler$SslTasksRunner.run(SslHandler.java:1737)',
'java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)',
'java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)',
'java.lang.Thread.run(Thread.java:750)']},
'suppressed': [], 'stack': ['sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:456)',
'sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:323)', 'sun.security.validator.Validator.validate(Validator.java:271)',
'sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:315)',
'sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:278)',
'sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:141)',
'sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:632)',
'sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)',
'sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)',
'sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:377)', 'sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)',
'sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:981)',
'sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:968)',
'java.security.AccessController.doPrivileged(Native Method)', 'sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:915)',
'io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.runAllDelegatedTasks(SslHandler.java:1550)',
'io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.access$1900(SslHandler.java:167)',
'io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler$SslTasksRunner.run(SslHandler.java:1737)',
'java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)', '
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)',
'java.lang.Thread.run(Thread.java:750)']},
'suppressed': [], 'stack': ['sun.security.ssl.Alert.createSSLException(Alert.java:131)',
'sun.security.ssl.TransportContext.fatal(TransportContext.java:324)', 'sun.security.ssl.TransportContext.fatal(TransportContext.java:267)',
'sun.security.ssl.TransportContext.fatal(TransportContext.java:262)',
'sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:654)',
'sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)',
'sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)',
'sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:377)', 'sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)',
'sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:981)',
'sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:968)',
'java.security.AccessController.doPrivileged(Native Method)', 'sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:915)',
'io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.runAllDelegatedTasks(SslHandler.java:1550)',
'io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler.access$1900(SslHandler.java:167)',
'io.grpc.netty.shaded.io.netty.handler.ssl.SslHandler$SslTasksRunner.run(SslHandler.java:1737)',
'java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)',
'java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)', 'java.lang.Thread.run(Thread.java:750)']},
'suppressed': [], 'stack': ['io.grpc.Status.asRuntimeException(Status.java:535)',
'io.grpc.stub.ClientCalls$BlockingResponseStream.hasNext(ClientCalls.java:648)',
'com.facebook.presto.pinot.PinotSegmentPageSource.getNextPage(PinotSegmentPageSource.java:204)',
'com.facebook.presto.operator.ScanFilterAndProjectOperator.processPageSource(ScanFilterAndProjectOperator.java:295)',
'com.facebook.presto.operator.ScanFilterAndProjectOperator.getOutput(ScanFilterAndProjectOperator.java:260)',
'com.facebook.presto.operator.Driver.processInternal(Driver.java:426)',
'com.facebook.presto.operator.Driver.lambda$processFor$9(Driver.java:309)',
'com.facebook.presto.operator.Driver.tryWithLock(Driver.java:730)',
'com.facebook.presto.operator.Driver.processFor(Driver.java:302)',
'com.facebook.presto.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:1079)',
'com.facebook.presto.execution.executor.PrioritizedSplitRunner.process(PrioritizedSplitRunner.java:165)',
'com.facebook.presto.execution.executor.TaskExecutor$TaskRunner.run(TaskExecutor.java:603)',
'com.facebook.presto.$gen.Presto_0_280_SNAPSHOT_63a0071____20230130_040248_1.run(Unknown Source)',
'java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)',
'java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)', 'java.lang.Thread.run(Thread.java:750)']}}
Lvszn Peng
02/08/2023, 10:03 AMSandeep Penmetsa
02/08/2023, 2:24 PM"starTreeIndexConfigs": [
{
"dimensionsSplitOrder": [
"reelId",
"type",
"studentId"
],
"skipStarNodeCreationForDimensions": [
],
"functionColumnPairs": [
"COUNT__*"
],
"maxLeafRecords": 100000
}
],
FYI, We are getting a responsetime of almost around 10sec.