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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to