You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by GitBox <gi...@apache.org> on 2021/07/26 20:59:24 UTC

[GitHub] [druid] jamiechapmanbrn opened a new issue #11499: Druid get lookup for individual lookup failing with 500

jamiechapmanbrn opened a new issue #11499:
URL: https://github.com/apache/druid/issues/11499


   When getting details about a specific lookup as documented in https://druid.apache.org/docs/latest/querying/lookups.html#get-lookup-1, I get a 500 error with the following stack trace instead of a json response.
   
   ### Affected Version
   druid 21.1
   java 11
   
   Example:
   ```
   curl -L http://localhost:8083/druid/listen/v1/lookups
   {"current":{"org_lookup":{"version":"0","lookupExtractorFactory":{"type":"cachedNamespace","extractionNamespace":{"type":"uri","uri":"file:/opt/druid/var/lut/org-map.csv","uriPrefix":null,"fileRegex":null,"namespaceParseSpec":{"format":"csv","columns":["org-id","name"],"keyColumn":"org-id","valueColumn":"name"},"pollPeriod":"PT15M"},"firstCacheTimeout":0,"injective":false}},"user_lookup":{"version":"0","lookupExtractorFactory":{"type":"cachedNamespace","extractionNamespace":{"type":"uri","uri":"file:/opt/druid/var/lut/user-map.csv","uriPrefix":null,"fileRegex":null,"namespaceParseSpec":{"format":"csv","columns":["user-id","email"],"keyColumn":"user-id","valueColumn":"email"},"pollPeriod":"PT15M"},"firstCacheTimeout":0,"injective":false}},"app_lookup":{"version":"0","lookupExtractorFactory":{"type":"cachedNamespace","extractionNamespace":{"type":"uri","uri":"file:/opt/druid/var/lut/app-map.csv","uriPrefix":null,"fileRegex":null,"namespaceParseSpec":{"format":"csv","columns":["app-i
 d","name"],"keyColumn":"app-id","valueColumn":"name"},"pollPeriod":"PT15M"},"firstCacheTimeout":0,"injective":false}}},"toLoad":{},"toDrop":[]}
   ```
   ```
   curl -L http://localhost:8083/druid/listen/v1/lookups/app_lookup
   <html>
   <head>
   <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
   <title>Error 500 com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class java.util.Optional and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)</title>
   </head>
   <body><h2>HTTP ERROR 500 com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class java.util.Optional and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)</h2>
   <table>
   <tr><th>URI:</th><td>/druid/listen/v1/lookups/app_lookup</td></tr>
   <tr><th>STATUS:</th><td>500</td></tr>
   <tr><th>MESSAGE:</th><td>com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class java.util.Optional and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)</td></tr>
   <tr><th>SERVLET:</th><td>org.eclipse.jetty.servlet.DefaultServlet-77bb916f</td></tr>
   <tr><th>CAUSED BY:</th><td>com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class java.util.Optional and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)</td></tr>
   </table>
   <h3>Caused by:</h3><pre>com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class java.util.Optional and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)
   	at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77)
   	at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1191)
   	at com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:404)
   	at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java:71)
   	at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.serialize(UnknownSerializer.java:33)
   	at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
   	at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
   	at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1433)
   	at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:921)
   	at com.fasterxml.jackson.jaxrs.base.ProviderBase.writeTo(ProviderBase.java:624)
   	at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:302)
   	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1510)
   	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
   	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
   	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
   	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
   	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
   	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
   	at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:286)
   	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:276)
   	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:181)
   	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
   	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
   	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135)
   	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
   	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
   	at org.apache.druid.server.security.PreResponseAuthorizationCheckFilter.doFilter(PreResponseAuthorizationCheckFilter.java:82)
   	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
   	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
   	at org.apache.druid.server.security.AllowHttpMethodsResourceFilter.doFilter(AllowHttpMethodsResourceFilter.java:78)
   	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
   	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
   	at org.apache.druid.server.security.AllowOptionsResourceFilter.doFilter(AllowOptionsResourceFilter.java:75)
   	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
   	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
   	at org.apache.druid.server.security.AllowAllAuthenticator$1.doFilter(AllowAllAuthenticator.java:84)
   	at org.apache.druid.server.security.AuthenticationWrappingFilter.doFilter(AuthenticationWrappingFilter.java:59)
   	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
   	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
   	at org.apache.druid.server.security.SecuritySanityCheckFilter.doFilter(SecuritySanityCheckFilter.java:77)
   	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
   	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
   	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
   	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
   	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
   	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
   	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435)
   	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
   	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
   	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
   	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
   	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350)
   	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
   	at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:763)
   	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
   	at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:179)
   	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
   	at org.eclipse.jetty.server.Server.handle(Server.java:516)
   	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
   	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
   	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
   	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
   	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
   	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
   	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
   	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
   	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
   	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
   	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
   	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:383)
   	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:882)
   	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1036)
   	at java.base/java.lang.Thread.run(Thread.java:829)
   </pre>
   
   </body>
   
   ```


-- 
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] FrankChen021 commented on issue #11499: Druid get lookup for individual lookup failing with 500

Posted by GitBox <gi...@apache.org>.
FrankChen021 commented on issue #11499:
URL: https://github.com/apache/druid/issues/11499#issuecomment-889591041


   This is a bug. The code here returns an object of type of `java.util.Optional` which can't be serialized.
   
   https://github.com/apache/druid/blob/59e61e127a14ff4dd41e76a2ff1bfd90ea3ac8af/server/src/main/java/org/apache/druid/query/lookup/LookupListeningResource.java#L113
   
   It should be fixed as `manager.get(id).orElse(null)`
   


-- 
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] clintropolis closed issue #11499: Druid get lookup for individual lookup failing with 500

Posted by GitBox <gi...@apache.org>.
clintropolis closed issue #11499:
URL: https://github.com/apache/druid/issues/11499


   


-- 
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