Jackie-Jiang commented on code in PR #9561:
URL: https://github.com/apache/pinot/pull/9561#discussion_r991705810
##########
pinot-core/src/main/java/org/apache/pinot/core/operator/blocks/InstanceResponseBlock.java:
##########
@@ -18,26 +18,132 @@
*/
package org.apache.pinot.core.operator.blocks;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Nullable;
import org.apache.pinot.common.datatable.DataTable;
+import org.apache.pinot.common.response.ProcessingException;
+import org.apache.pinot.common.utils.DataSchema;
import org.apache.pinot.core.common.Block;
import org.apache.pinot.core.common.BlockDocIdSet;
import org.apache.pinot.core.common.BlockDocIdValueSet;
import org.apache.pinot.core.common.BlockMetadata;
import org.apache.pinot.core.common.BlockValSet;
+import org.apache.pinot.core.common.datatable.DataTableBuilderFactory;
+import org.apache.pinot.core.operator.blocks.results.BaseResultsBlock;
+import org.apache.pinot.core.query.request.context.QueryContext;
/**
- * InstanceResponseBlock is just a holder to get InstanceResponse from
InstanceResponseBlock.
+ * The {@code InstanceResponseBlock} is the holder of the server side results.
*/
public class InstanceResponseBlock implements Block {
- private final DataTable _instanceResponseDataTable;
+ private final BaseResultsBlock _resultsBlock;
+ private final QueryContext _queryContext;
+ private final Map<Integer, String> _exceptions;
+ private final Map<String, String> _metadata;
- public InstanceResponseBlock(DataTable dataTable) {
- _instanceResponseDataTable = dataTable;
+ public InstanceResponseBlock(BaseResultsBlock resultsBlock, QueryContext
queryContext) {
+ _resultsBlock = resultsBlock;
+ _queryContext = queryContext;
+ _exceptions = new HashMap<>();
+ List<ProcessingException> processingExceptions =
resultsBlock.getProcessingExceptions();
+ if (processingExceptions != null) {
+ for (ProcessingException processingException : processingExceptions) {
+ _exceptions.put(processingException.getErrorCode(),
processingException.getMessage());
+ }
+ }
+ _metadata = resultsBlock.getResultsMetadata();
Review Comment:
Yes. Once we get the instance level block, the results block shouldn't
change (before this PR it is already converted to `DataTable`)
--
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]