You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by "keepmeup (via GitHub)" <gi...@apache.org> on 2023/05/15 08:02:27 UTC

[GitHub] [druid] keepmeup opened a new issue, #14278: UnsupportedOperationException is returned when a join association query is performed on a dimension column of the long type.

keepmeup opened a new issue, #14278:
URL: https://github.com/apache/druid/issues/14278

   Please provide a detailed title (e.g. "Broker crashes when using TopN query with Bound filter" instead of just "Broker crashes").
   
   ### Affected Version
   V0.21.0 - latest
   
   
   ### Description
   join query sql like this:
   `select tb1.integer_01 from query_data tb1 join query_data tb2 on tb1.integer_01=tb2.integer_01 `
   query_data  is not inline type.
   integer_01 column is long type. 
   
   
   when a dimension column  (long type) in a datasource does not contain duplicate data rows, failed to run a  join query on this column, and reported error msg like UnsupportedOperationException.
   
   the deatil error info as following :
    `[org.apache.druid.server.QueryResource] Exception handling request: {class=org.apache.druid.server.QueryResource, exceptionType=class java.lang.UnsupportedOperationException, exceptionMessage=null, query={\"queryType\":\"scan\",\"dataSource\":{\"type\":\"join\",\"left\":{\"type\":\"table\",\"name\":\"query_data\"},\"right\":{\"type\":\"inline\",\"columnNames\":[\"integer_02\"],\"rows\":[[1011321636],[798149180],[1967276246],[981851454],[1131930886],[678057399],[531974338],[910870059],[1354189192],[1852874318],[1423135749],[476052090],[1629345290],[1221025604],[1456168797],[174256503],[2136167612],[939121801],[1311193105],[1041611754],[2042602974],[1811871238],[1567640210],[1812339899],[201732894],[1917945034],[348649510],[1952933797],[656763133],[1570766473],[761034030],[783297435],[900938133],[2008310329],[683880388],[632070346],[265266758],[559246409],[140623286],[1121379007],[1283871449],[1526862571],[1294881462],[283504463],[1014505150],[210258446],[1345371845],[1789161393],
 [465946570],[9965594],[1213002863],[473974926],[1867814161],[747880882],[2046826281],[845410732],[195430351],[1140766264],[433656069],[1804244762],[1906022077],[1108026388],[1519759817],[2099249276],[2141155270],[48778464],[1944933484],[522011220],[1808483027],[965865845],[657591721],[368260435],[365302572],[100798112],[1662083764],[1001633540],[2100433580],[717611262],[668829244],[1451930205],[195265403],[1612132668],[837296122],[1538780976],[1731830280],[96135375],[932682338],[324709142],[756193325],[2080763299],[889190595],[1786771821],[1089697379],[931743425],[1323840991],[503638979],[1369257728],[839288835],[1262823817],[1241350637]]},\"rightPrefix\":\"j0.\",\"condition\":\"(\\\"integer_02\\\" == \\\"j0.integer_02\\\")\",\"joinType\":\"INNER\"},\"intervals\":{\"type\":\"segments\",\"segments\":[{\"itvl\":\"2023-05-09T03:05:00.000Z/2023-05-09T03:10:00.000Z\",\"ver\":\"2023-05-09T03:11:22.477Z\",\"part\":0}]},\"virtualColumns\":[],\"resultFormat\":\"compactedList\",\"batchSize\":
 20480,\"order\":\"none\",\"filter\":null,\"columns\":[\"integer_02\"],\"legacy\":false,\"context\":{\"defaultTimeout\":300000,\"finalize\":false,\"maxQueuedBytes\":0,\"maxScatterGatherBytes\":2147483648,\"queryFailTime\":1683804840252,\"queryId\":\"f2439d55-d633-4798-8de7-4eae42be7832\",\"sqlQueryId\":\"2e5eca7f-0574-468c-91f5-ed31dda2627f\",\"timeout\":299999},\"descending\":false,\"granularity\":{\"type\":\"all\"}}, peer=8.7.173.27} (java.lang.UnsupportedOperationException)
   `
   
   the error stack info in historical log:
   `[ROOT][org.apache.druid.server.QueryResource] xxx:test
   java.lang.UnsupportedOperationException: null
           at org.apache.druid.segment.join.table.MapIndex.findUniqueLong(MapIndex.java:95) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.segment.join.table.IndexedTableJoinMatcher$ConditionMatcherFactory$1.matchSingleRow(IndexedTableJoinMatcher.java:465) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.segment.join.table.IndexedTableJoinMatcher.matchCondition(IndexedTableJoinMatcher.java:193) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.segment.join.HashJoinEngine$1JoinCursor.matchCurrentPosition(HashJoinEngine.java:167) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.segment.join.HashJoinEngine$1JoinCursor.initialize(HashJoinEngine.java:127) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.segment.join.HashJoinEngine.makeJoinCursor(HashJoinEngine.java:219) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.segment.join.HashJoinSegmentStorageAdapter.lambda$makeCursors$0(HashJoinSegmentStorageAdapter.java:267) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.MappingYieldingAccumulator.accumulate(MappingYieldingAccumulator.java:61) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.FilteringYieldingAccumulator.accumulate(FilteringYieldingAccumulator.java:70) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.MappingYieldingAccumulator.accumulate(MappingYieldingAccumulator.java:61) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.BaseSequence.makeYielder(BaseSequence.java:90) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.BaseSequence.toYielder(BaseSequence.java:69) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.MappedSequence.toYielder(MappedSequence.java:49) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:83) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.FilteredSequence.toYielder(FilteredSequence.java:54) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.MappedSequence.toYielder(MappedSequence.java:49) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:83) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:83) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.LazySequence.toYielder(LazySequence.java:46) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:83) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.query.spec.SpecificSegmentQueryRunner$1.toYielder(SpecificSegmentQueryRunner.java:102) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.query.spec.SpecificSegmentQueryRunner.doNamed(SpecificSegmentQueryRunner.java:171) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.query.spec.SpecificSegmentQueryRunner.access$100(SpecificSegmentQueryRunner.java:44) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.query.spec.SpecificSegmentQueryRunner$2.wrap(SpecificSegmentQueryRunner.java:153) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:83) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.query.CPUTimeMetricQueryRunner$1.wrap(CPUTimeMetricQueryRunner.java:78) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:83) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.ConcatSequence.makeYielder(ConcatSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.ConcatSequence.toYielder(ConcatSequence.java:64) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.MappedSequence.toYielder(MappedSequence.java:49) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.query.CPUTimeMetricQueryRunner$1.wrap(CPUTimeMetricQueryRunner.java:78) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:83) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.Yielders.each(Yielders.java:32) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.server.QueryResource.doPost(QueryResource.java:235) ~[druid-server-0.21.1-h0.gdd.sop.r50.jar:?]
           at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source) ~[?:?]
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_372]
           at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_372]
           at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) ~[jersey-servlet-1.19.3.jar:1.19.3]
           at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558) ~[jersey-servlet-1.19.3.jar:1.19.3]
           at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733) ~[jersey-servlet-1.19.3.jar:1.19.3]
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0]
           at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:286) ~[guice-servlet-4.1.0.jar:?]
           at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:276) ~[guice-servlet-4.1.0.jar:?]
           at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:181) ~[guice-servlet-4.1.0.jar:?]
           at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) ~[guice-servlet-4.1.0.jar:?]
           at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85) ~[guice-servlet-4.1.0.jar:?]
           at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) ~[guice-servlet-4.1.0.jar:?]
           at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135) ~[guice-servlet-4.1.0.jar:?]
           at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.apache.druid.server.security.PreResponseAuthorizationCheckFilter.doFilter(PreResponseAuthorizationCheckFilter.java:82) ~[druid-server-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.apache.druid.server.security.AllowHttpMethodsResourceFilter.doFilter(AllowHttpMethodsResourceFilter.java:78) ~[druid-server-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.apache.druid.server.security.AllowOptionsResourceFilter.doFilter(AllowOptionsResourceFilter.java:75) ~[druid-server-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.apache.druid.server.security.AllowAllAuthenticator$1.doFilter(AllowAllAuthenticator.java:84) ~[druid-server-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.server.security.AuthenticationWrappingFilter.doFilter(AuthenticationWrappingFilter.java:59) ~[druid-server-0.21.1-h0.gdd.sop.r50.jar:?]
   2023-05-11 11:29:00,469 ERROR [qtp1684887757-142[scan_[query_data_olap]_f2439d55-d633-4798-8de7-4eae42be7832]][ROOT][org.apache.druid.server.QueryResource] 
   java.lang.UnsupportedOperationException: null
           at org.apache.druid.segment.join.table.MapIndex.findUniqueLong(MapIndex.java:95) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.segment.join.table.IndexedTableJoinMatcher$ConditionMatcherFactory$1.matchSingleRow(IndexedTableJoinMatcher.java:465) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.segment.join.table.IndexedTableJoinMatcher.matchCondition(IndexedTableJoinMatcher.java:193) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.segment.join.HashJoinEngine$1JoinCursor.matchCurrentPosition(HashJoinEngine.java:167) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.segment.join.HashJoinEngine$1JoinCursor.initialize(HashJoinEngine.java:127) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.segment.join.HashJoinEngine.makeJoinCursor(HashJoinEngine.java:219) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.segment.join.HashJoinSegmentStorageAdapter.lambda$makeCursors$0(HashJoinSegmentStorageAdapter.java:267) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.MappingYieldingAccumulator.accumulate(MappingYieldingAccumulator.java:61) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.FilteringYieldingAccumulator.accumulate(FilteringYieldingAccumulator.java:70) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.MappingYieldingAccumulator.accumulate(MappingYieldingAccumulator.java:61) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.BaseSequence.makeYielder(BaseSequence.java:90) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.BaseSequence.toYielder(BaseSequence.java:69) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.MappedSequence.toYielder(MappedSequence.java:49) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:83) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.FilteredSequence.toYielder(FilteredSequence.java:54) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.MappedSequence.toYielder(MappedSequence.java:49) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:83) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:83) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.LazySequence.toYielder(LazySequence.java:46) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.SequenceWrapper.wrap(SequenceWrapper.java:55) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:83) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.query.spec.SpecificSegmentQueryRunner$1.toYielder(SpecificSegmentQueryRunner.java:102) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.query.spec.SpecificSegmentQueryRunner.doNamed(SpecificSegmentQueryRunner.java:171) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.query.spec.SpecificSegmentQueryRunner.access$100(SpecificSegmentQueryRunner.java:44) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.query.spec.SpecificSegmentQueryRunner$2.wrap(SpecificSegmentQueryRunner.java:153) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:83) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.query.CPUTimeMetricQueryRunner$1.wrap(CPUTimeMetricQueryRunner.java:78) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:83) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.ConcatSequence.makeYielder(ConcatSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.ConcatSequence.toYielder(ConcatSequence.java:64) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.MappedSequence.toYielder(MappedSequence.java:49) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:88) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence$2.get(WrappingSequence.java:84) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.query.CPUTimeMetricQueryRunner$1.wrap(CPUTimeMetricQueryRunner.java:78) ~[druid-processing-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.WrappingSequence.toYielder(WrappingSequence.java:83) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.java.util.common.guava.Yielders.each(Yielders.java:32) ~[druid-core-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.server.QueryResource.doPost(QueryResource.java:235) ~[druid-server-0.21.1-h0.gdd.sop.r50.jar:?]
           at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source) ~[?:?]
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_372]
           at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_372]
           at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409) ~[jersey-server-1.19.3.jar:1.19.3]
           at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409) ~[jersey-servlet-1.19.3.jar:1.19.3]
           at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558) ~[jersey-servlet-1.19.3.jar:1.19.3]
           at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733) ~[jersey-servlet-1.19.3.jar:1.19.3]
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0]
           at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:286) ~[guice-servlet-4.1.0.jar:?]
           at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:276) ~[guice-servlet-4.1.0.jar:?]
           at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:181) ~[guice-servlet-4.1.0.jar:?]
           at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) ~[guice-servlet-4.1.0.jar:?]
           at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85) ~[guice-servlet-4.1.0.jar:?]
           at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) ~[guice-servlet-4.1.0.jar:?]
           at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135) ~[guice-servlet-4.1.0.jar:?]
           at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.apache.druid.server.security.PreResponseAuthorizationCheckFilter.doFilter(PreResponseAuthorizationCheckFilter.java:82) ~[druid-server-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.apache.druid.server.security.AllowHttpMethodsResourceFilter.doFilter(AllowHttpMethodsResourceFilter.java:78) ~[druid-server-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.apache.druid.server.security.AllowOptionsResourceFilter.doFilter(AllowOptionsResourceFilter.java:75) ~[druid-server-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626) ~[jetty-servlet-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.apache.druid.server.security.AllowAllAuthenticator$1.doFilter(AllowAllAuthenticator.java:84) ~[druid-server-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.apache.druid.server.security.AuthenticationWrappingFilter.doFilter(AuthenticationWrappingFilter.java:59) ~[druid-server-0.21.1-h0.gdd.sop.r50.jar:?]
           at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) ~[jetty-server-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) ~[jetty-io-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[jetty-io-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:555) ~[jetty-io-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:410) ~[jetty-io-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:164) ~[jetty-io-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[jetty-io-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) ~[jetty-io-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) ~[jetty-util-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) ~[jetty-util-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) ~[jetty-util-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) ~[jetty-util-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) ~[jetty-util-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) ~[jetty-util-9.4.51.v20230217.jar:9.4.51.v20230217]
           at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) ~[jetty-util-9.4.51.v20230217.jar:9.4.51.v20230217]
           at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_372]`
   
   **this should be a bug when join query on a long type column and the column has duplicated row value, the reason maybe this:**
   1.missing columnTypes in packets:
   join query packets:
   `{
       'queryType' : 'scan',
       'dataSource' : {
           'type' : 'join',
           'left' : {
               'type' : 'table',
               'name' : 'ODAEDATASET__DEFAULT_query_data_olap__DEFAULT'
           },
           'right' : {
               'type' : 'inline',
               'columnNames' : ['integer_02'],  **### // missing columnTypes**
               'rows' : [[1011321636], [798149180], [1967276246], [981851454], [1131930886], [678057399], [531974338], [910870059], [1354189192], [1852874318], [1423135749], [476052090], [1629345290], [1221025604], [1456168797], [174256503], [2136167612], [939121801], [1311193105], [1041611754], [2042602974], [1811871238], [1567640210], [1812339899], [201732894], [1917945034], [348649510], [1952933797], [656763133], [1570766473], [761034030], [783297435], [900938133], [2008310329], [683880388], [632070346], [265266758], [559246409], [140623286], [1121379007], [1283871449], [1526862571], [1294881462], [283504463], [1014505150], [210258446], [1345371845], [1789161393], [465946570], [9965594], [1213002863], [473974926], [1867814161], [747880882], [2046826281], [845410732], [195430351], [1140766264], [433656069], [1804244762], [1906022077], [1108026388], [1519759817], [2099249276], [2141155270], [48778464], [1944933484], [522011220], [1808483027], [965865845], [657591721], [368260435], [
 365302572], [100798112], [1662083764], [1001633540], [2100433580], [717611262], [668829244], [1451930205], [195265403], [1612132668], [837296122], [1538780976], [1731830280], [96135375], [932682338], [324709142], [756193325], [2080763299], [889190595], [1786771821], [1089697379], [931743425], [1323840991], [503638979], [1369257728], [839288835], [1262823817], [1241350637]]
           },
           'rightPrefix' : 'j0.',
           'condition' : '("integer_02" == "j0.integer_02")',
           'joinType' : 'INNER'
       },
       'intervals' : {
           'type' : 'segments',
           'segments' : [{
                   'itvl' : '2023-05-09T03:05:00.000Z/2023-05-09T03:10:00.000Z',
                   'ver' : '2023-05-09T03:11:22.477Z',
                   'part' : 0
               }
           ]
       },
       'virtualColumns' : [],
       'resultFormat' : 'compactedList',
       'batchSize' : 20480,
       'order' : 'none',
       'filter' : None,
       'columns' : ['__time', 'integer_02'],
       'legacy' : False,
       'context' : {
           'defaultTimeout' : 300000,
           'finalize' : False,
           'maxQueuedBytes' : 0,
           'maxScatterGatherBytes' : 2147483648,
           'queryFailTime' : 1683860555990,
           'queryId' : 'ca1704f3-6400-4d99-aad0-48edc57e50e6',
           'sqlQueryId' : '6c55077b-cf1f-410f-80df-7932d21866e5',
           'timeout' : 299999
       },
       'descending' : False,
       'granularity' : {
           'type' : 'all'
       }
   }
   `
   2.use default string type ,not long type 
   `org.apache.druid.segment.join.table.RowBasedIndexedTable#RowBasedIndexedTable(java.util.List<RowType>, org.apache.druid.segment.RowAdapter<RowType>, org.apache.druid.segment.column.RowSignature, java.util.Set<java.lang.String>, java.lang.String, byte[])
     public RowBasedIndexedTable(
         final List<RowType> table,
         final RowAdapter<RowType> rowAdapter,
         final RowSignature rowSignature,
         final Set<String> keyColumns,
         final String version,
         @Nullable
         final byte[] cacheKey
     )
     {
       this.table = table;
       this.rowSignature = rowSignature;
       this.columnFunctions =
           rowSignature.getColumnNames().stream().map(rowAdapter::columnFunction).collect(Collectors.toList());
       this.keyColumns = keyColumns;
       this.version = version;
       this.cacheKey = cacheKey;
   
       if (!ImmutableSet.copyOf(rowSignature.getColumnNames()).containsAll(keyColumns)) {
         throw new ISE(
             "keyColumns[%s] must all be contained in rowSignature[%s]",
             String.join(", ", keyColumns),
             rowSignature
         );
       }
   
       indexes = new ArrayList<>(rowSignature.size());
   
       for (int i = 0; i < rowSignature.size(); i++) {
         final String column = rowSignature.getColumnName(i);
         final Index m;
   
         if (keyColumns.contains(column)) {
           final ValueType keyType =
               rowSignature.getColumnType(column).orElse(IndexedTableJoinMatcher.DEFAULT_KEY_TYPE); //**### The rowSignature does not contain the key type. The default string type is used.** 
   
           final RowBasedIndexBuilder builder = new RowBasedIndexBuilder(keyType);
           final Function<RowType, Object> columnFunction = columnFunctions.get(i);
   
           for (final RowType row : table) {
             builder.add(columnFunction.apply(row));
           }
   
           m = builder.build();
         } else {
           m = null;
         }
   
         indexes.add(m);
       }
     }
   
   ` 
   3. build normal hashmap not Long2ObjectOpenHashMap
   ` public RowBasedIndexBuilder(ValueType keyType)
     {
       this.keyType = keyType;
   
       if (keyType == ValueType.LONG) {
         // We're specializing the type even though we don't specialize usage in this class, for two reasons:
         //  (1) It's still useful to reduce overall memory footprint.
         //  (2) MapIndex specifically checks for Long2ObjectMap instances and *does* specialize usage.
         final Long2ObjectOpenHashMap<IntList> theMap = new Long2ObjectOpenHashMap<>();
         index = (Map) theMap;
       } else {
         index = new HashMap<>();    **### // return normal hashMap**
       }
     }
   `
   4. when singleRowMatch, return unsupportedOpertaionException
   
   `org.apache.druid.segment.join.table.IndexedTableJoinMatcher.ConditionMatcherFactory#makeLongProcessor` ->
   `org.apache.druid.segment.join.table.MapIndex#findUniqueLong`
   `  @Override
     public int findUniqueLong(long key)
     {
       if (isLong2ObjectMap && keysUnique) {
         final IntList rows = ((Long2ObjectMap<IntList>) (Map) index).get(key);
         assert rows == null || rows.size() == 1;
         return rows != null ? rows.getInt(0) : NOT_FOUND;
       } else {
         throw new UnsupportedOperationException();
       }
     }`
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org


[GitHub] [druid] keepmeup commented on issue #14278: UnsupportedOperationException is returned when a join association query is performed on a dimension column of the long type.

Posted by "keepmeup (via GitHub)" <gi...@apache.org>.
keepmeup commented on issue #14278:
URL: https://github.com/apache/druid/issues/14278#issuecomment-1548871995

   @abhishekagarwal87


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org


[GitHub] [druid] abhishekagarwal87 closed issue #14278: UnsupportedOperationException is returned when a join association query is performed on a dimension column of the long type.

Posted by "abhishekagarwal87 (via GitHub)" <gi...@apache.org>.
abhishekagarwal87 closed issue #14278: UnsupportedOperationException is returned when a join association query is performed on a dimension column of the long type.
URL: https://github.com/apache/druid/issues/14278


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org


[GitHub] [druid] abhishekagarwal87 commented on issue #14278: UnsupportedOperationException is returned when a join association query is performed on a dimension column of the long type.

Posted by "abhishekagarwal87 (via GitHub)" <gi...@apache.org>.
abhishekagarwal87 commented on issue #14278:
URL: https://github.com/apache/druid/issues/14278#issuecomment-1549260086

   @keepmeup - its fixed in https://github.com/apache/druid/pull/10942. You should upgrade to 0.22. or a later version. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org