You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by le...@apache.org on 2019/04/15 17:49:28 UTC

[incubator-druid] branch master updated: Remove unnecessary collection (#7350)

This is an automated email from the ASF dual-hosted git repository.

leventov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git


The following commit(s) were added to refs/heads/master by this push:
     new 4654e1e  Remove unnecessary collection (#7350)
4654e1e is described below

commit 4654e1e851633820b460fc928502a71a8ac340ad
Author: Surekha <su...@imply.io>
AuthorDate: Mon Apr 15 10:49:21 2019 -0700

    Remove unnecessary collection (#7350)
    
    From the discussion [here](https://github.com/apache/incubator-druid/pull/6901#discussion_r265741002)
    
    Remove the collection and filter datasources from the stream.
    Also remove StreamingOutput and JsonFactory constructs.
---
 .../apache/druid/server/http/MetadataResource.java | 34 ++++------------------
 1 file changed, 5 insertions(+), 29 deletions(-)

diff --git a/server/src/main/java/org/apache/druid/server/http/MetadataResource.java b/server/src/main/java/org/apache/druid/server/http/MetadataResource.java
index af106fb..da0abe7 100644
--- a/server/src/main/java/org/apache/druid/server/http/MetadataResource.java
+++ b/server/src/main/java/org/apache/druid/server/http/MetadataResource.java
@@ -19,8 +19,6 @@
 
 package org.apache.druid.server.http;
 
-import com.fasterxml.jackson.core.JsonFactory;
-import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.base.Function;
 import com.google.common.collect.Collections2;
@@ -51,14 +49,12 @@ import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
-import javax.ws.rs.core.StreamingOutput;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
 import java.util.Set;
 import java.util.TreeSet;
-import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 /**
@@ -68,9 +64,7 @@ public class MetadataResource
 {
   private final MetadataSegmentManager metadataSegmentManager;
   private final IndexerMetadataStorageCoordinator metadataStorageCoordinator;
-  private final AuthConfig authConfig;
   private final AuthorizerMapper authorizerMapper;
-  private final ObjectMapper jsonMapper;
 
   @Inject
   public MetadataResource(
@@ -83,9 +77,7 @@ public class MetadataResource
   {
     this.metadataSegmentManager = metadataSegmentManager;
     this.metadataStorageCoordinator = metadataStorageCoordinator;
-    this.authConfig = authConfig;
     this.authorizerMapper = authorizerMapper;
-    this.jsonMapper = jsonMapper;
   }
 
   @GET
@@ -161,15 +153,11 @@ public class MetadataResource
     // If we haven't polled the metadata store yet, use an empty list of datasources.
     Collection<ImmutableDruidDataSource> druidDataSources = Optional.ofNullable(metadataSegmentManager.getDataSources())
                                                                     .orElse(Collections.emptyList());
-
+    Stream<ImmutableDruidDataSource> dataSourceStream = druidDataSources.stream();
     if (datasources != null && !datasources.isEmpty()) {
-      druidDataSources = druidDataSources.stream()
-                                         .filter(src -> datasources.contains(src.getName()))
-                                         .collect(Collectors.toSet());
+      dataSourceStream = dataSourceStream.filter(src -> datasources.contains(src.getName()));
     }
-    final Stream<DataSegment> metadataSegments = druidDataSources
-        .stream()
-        .flatMap(t -> t.getSegments().stream());
+    final Stream<DataSegment> metadataSegments = dataSourceStream.flatMap(t -> t.getSegments().stream());
 
     final Function<DataSegment, Iterable<ResourceAction>> raGenerator = segment -> Collections.singletonList(
         AuthorizationUtils.DATASOURCE_READ_RA_GENERATOR.apply(segment.getDataSource()));
@@ -177,20 +165,8 @@ public class MetadataResource
     final Iterable<DataSegment> authorizedSegments =
         AuthorizationUtils.filterAuthorizedResources(req, metadataSegments::iterator, raGenerator, authorizerMapper);
 
-    final StreamingOutput stream = outputStream -> {
-      final JsonFactory jsonFactory = jsonMapper.getFactory();
-      try (final JsonGenerator jsonGenerator = jsonFactory.createGenerator(outputStream)) {
-        jsonGenerator.writeStartArray();
-        for (DataSegment ds : authorizedSegments) {
-          jsonGenerator.writeObject(ds);
-          jsonGenerator.flush();
-        }
-        jsonGenerator.writeEndArray();
-      }
-    };
-
-    Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-    return builder.entity(stream).build();
+    final Response.ResponseBuilder builder = Response.status(Response.Status.OK);
+    return builder.entity(authorizedSegments).build();
   }
 
   @GET


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