himanshug commented on a change in pull request #8359: Logging emitter to
publish query and other metric events as valid json objects
URL: https://github.com/apache/incubator-druid/pull/8359#discussion_r317831927
##########
File path:
server/src/main/java/org/apache/druid/server/log/DefaultRequestLogEventBuilderFactory.java
##########
@@ -32,6 +32,11 @@
private static final DefaultRequestLogEventBuilderFactory INSTANCE = new
DefaultRequestLogEventBuilderFactory();
@JsonCreator
+ public static DefaultRequestLogEventBuilderFactory instance(String ignored)
Review comment:
so without this patch , I added following in my properties ....
```
druid.emitter=logging
druid.request.logging.type=emitter
druid.request.logging.feed=requests
```
that failed with following error....
```
1) druid.request.logging.requestLogEventBuilderFactory - may not be null
at
org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:164)
(via modules: com.google.inject.util.Modules$OverrideModule ->
com.google.inject.util.Modules$OverrideModule ->
org.apache.druid.guice.QueryableModule)
at
org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:164)
(via modules: com.google.inject.util.Modules$OverrideModule ->
com.google.inject.util.Modules$OverrideModule ->
org.apache.druid.guice.QueryableModule)
while locating
com.google.common.base.Supplier<org.apache.druid.server.log.RequestLoggerProvider>
at
org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:165)
(via modules: com.google.inject.util.Modules$OverrideModule ->
com.google.inject.util.Modules$OverrideModule ->
org.apache.druid.guice.QueryableModule)
while locating org.apache.druid.server.log.RequestLoggerProvider
at
org.apache.druid.guice.QueryableModule.configure(QueryableModule.java:48) (via
modules: com.google.inject.util.Modules$OverrideModule ->
com.google.inject.util.Modules$OverrideModule ->
org.apache.druid.guice.QueryableModule)
while locating org.apache.druid.server.log.RequestLogger
for the 5th parameter of
org.apache.druid.server.QueryLifecycleFactory.<init>(QueryLifecycleFactory.java:52)
at
org.apache.druid.server.QueryLifecycleFactory.class(QueryLifecycleFactory.java:52)
while locating org.apache.druid.server.QueryLifecycleFactory
for the 1st parameter of
org.apache.druid.server.QueryResource.<init>(QueryResource.java:113)
at org.apache.druid.server.QueryResource.class(QueryResource.java:78)
while locating org.apache.druid.server.QueryResource
```
as per the documentation , above was not supposed to happen. so made the
change in `EmittingRequestLoggerProvider` to hardcode usage of
`DefaultRequestLogEventBuilderFactory` by default .
no change is needed in the docs as things would work as expected.
for this specific change: fixing the json creation is not strictly
necessary, so removed that to keep things simple in this PR.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]