>From Ritik Raj <[email protected]>:
Attention is currently required from: Ritik Raj.
Hello Jenkins, Anon. E. Moose #1000171,
I'd like you to reexamine a change. Please visit
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19225
to look at the new patch set (#3).
Change subject: WIP: avoiding assembly from reading from disk
......................................................................
WIP: avoiding assembly from reading from disk
updated for handling
1. delete
2. upsert with select
3. meta
4. updated plans and fixed some queries
5. saving the function tree from getting fkedup while projection consolidation
Change-Id: Ibbebcd9f78ba911065787d2d4099c20b019c91ec
---
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/metadata/schema/AbstractSchemaNode.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/bytes/stream/in/AbstractBytesInputStream.java
A
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/metadata/schema/FlatObjectSchemaNode.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/filter/ColumnFilterBuilder.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/ArrayWithUnionValueAssembler.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.019.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/subplan/subplan.022.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/array-access-pushdown/array-access-pushdown.006.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/field-access-pushdown/field-access-pushdown.010.plan
A
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/ReplaceFieldAccessWithVariables.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/ObjectValueAssembler.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/tuple/QueryColumnTupleReference.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/query/QueryColumnTupleProjectorFactory.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.021.plan
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/query/ColumnAssembler.java
M
asterixdb/asterix-column/src/test/java/org/apache/asterix/column/test/bytes/FlushSmallTest.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/field-access-pushdown/field-access-pushdown.008.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.021.plan
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/IndexUtil.java
R
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/column/ColumnDatasetProjectionFiltrationInfo.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/005/005.011.plan
A
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/ProductFlatBytesAssembler.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/values/IColumnValuesReader.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/IAType.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/004/004.102.plan
M
hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/UnnestMapOperator.java
M
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/AUnorderedListType.java
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/schema/AbstractExpectedSchemaNode.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.022.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.006.plan
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/filter/ColumnRangeFilterBuilder.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/secondary/upsert/UpsertPreviousColumnTupleProjector.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/sql-compat/sql-compat.013.plan
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/RepeatedPrimitiveValueAssembler.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/filter/IFilterApplier.java
M
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/AOrderedListType.java
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/visitor/ExpectedSchemaNodeToIATypeTranslatorVisitor.java
M
hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalVariable.java
M
hyracks-fullstack/algebricks/algebricks-compiler/src/main/java/org/apache/hyracks/algebricks/compiler/rewriter/rulecontrollers/SequentialOnceRuleController.java
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/schema/RootExpectedSchemaNode.java
A
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/state/ProductOperatorState.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/metadata/schema/UnionSchemaNode.java
A
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/AddFlatBytesAssembler.java
A
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/filter/RowTupleEvaluator.java
M
hyracks-fullstack/algebricks/algebricks-compiler/src/main/java/org/apache/hyracks/algebricks/compiler/rewriter/rulecontrollers/SequentialFixpointRuleController.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.017.plan
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/AssemblerBuilderVisitor.java
M
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/utils/ProjectionFiltrationTypeUtil.java
M
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/delete/003/003.006.update.sqlpp
M
hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/metadata/IDataSource.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/tuple/QueryColumnWithMetaTupleReference.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.019.plan
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/metadata/schema/ISchemaNodeVisitor.java
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushValueAccessAndFilterDownRule.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/join/condition-pushdown/condition-pushdown.021.plan
M
hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/AbstractRuleController.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/PrimitiveValueAssembler.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.010.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.016.plan
M
asterixdb/asterix-column/src/test/java/org/apache/asterix/column/test/bytes/FlushLargeTest.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/join/condition-pushdown/condition-pushdown.031.plan
M
hyracks-fullstack/hyracks/hyracks-storage-am-btree/src/main/java/org/apache/hyracks/storage/am/btree/dataflow/BTreeSearchOperatorNodePushable.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/boolean/boolean.011.adm
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/query/QueryColumnTupleProjector.java
A
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/tuple/BareTupleReference.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.007.plan
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
M
hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/jobgen/impl/JobGenContext.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/array-access-pushdown/array-access-pushdown.010.plan
A
hyracks-fullstack/hyracks/hyracks-data/hyracks-data-std/src/main/java/org/apache/hyracks/data/std/api/IAssembledTupleReference.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/004/004.105.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.017.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/field-access-pushdown/field-access-pushdown.012.plan
A
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/MissingAssembler.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/field-access-pushdown/field-access-pushdown.006.plan
M
hyracks-fullstack/hyracks/hyracks-storage-common/src/main/java/org/apache/hyracks/storage/common/projection/ITupleProjector.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.023.plan
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/EndOfRepeatedGroupAssembler.java
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/schema/IExpectedSchemaNodeVisitor.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.023.plan
A
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/metadata/schema/visitor/FilterSchemaClipperVisitor.java
M
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/BuiltinType.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.026.plan
M
hyracks-fullstack/hyracks/hyracks-data/hyracks-data-std/src/main/java/org/apache/hyracks/data/std/api/IValueReference.java
A
hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/base/GenericTree.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.004.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/array-access-pushdown/array-access-pushdown.004.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.020.plan
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/AbstractValueAssembler.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/005/005.008.plan
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/values/reader/AbstractColumnValuesReader.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.027.plan
A
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/processor/ExpectedSchemaCollectExpressionProcessorVisitor.java
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/visitor/ColumnFilterPathBuilderVisitor.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/004/004.108.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.013.plan
A
hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalExpressionVariable.java
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/schema/UnionExpectedSchemaNode.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/join/condition-pushdown/condition-pushdown.012.plan
M
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/ARecordType.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/ArrayValueAssembler.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/bytes/stream/in/MultiByteBufferInputStream.java
M
asterixdb/asterix-column/src/test/java/org/apache/asterix/column/test/bytes/AbstractBytesTest.java
M
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/delete/003/003.008.update.sqlpp
A
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/state/AssemblerOperatorState.java
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/visitor/ExpectedSchemaMergerVisitor.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/not-in_every/not-in_every.301.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/not-in_every/not-in_every.201.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.014.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/not-in_every/not-in_every.101.plan
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/BTreeSearchPOperator.java
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/DatasetDataSource.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/secondary/upsert/UpsertPreviousColumnTupleWithMetaProjector.java
A
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/visitor/ReplaceExpressionVisitor.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/boolean/boolean.021.adm
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/query/QueryColumnWithMetaMetadata.java
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/schema/IExpectedSchemaNode.java
A
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/FlatBytesAssembler.java
M
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/AbstractComplexType.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/subplan/subplan.012.plan
M
asterixdb/asterix-column/src/test/java/org/apache/asterix/column/test/dummy/AssemblerTest.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/heterogeneous-access-pushdown/heterogeneous-access-pushdown.004.plan
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/query/QueryColumnWithMetaTupleProjector.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/query/QueryColumnMetadata.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.011.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.008.plan
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/AbstractPrimitiveValueAssembler.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.028.plan
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/AbstractNestedValueAssembler.java
M
hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/accessors/ITupleReference.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.025.plan
A
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/visitor/PushDownExpressionReplaceVariableVisitor.java
M
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/column/delete/003/003.004.update.sqlpp
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/secondary/create/PrimaryScanColumnTupleProjector.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.009.plan
A
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/column/ExpectedSchemaFunctionTree.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.024.plan
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/ATypeTag.java
A
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/state/AddOperatorState.java
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/schema/ArrayExpectedSchemaNode.java
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/schema/ObjectExpectedSchemaNode.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/join/condition-pushdown/condition-pushdown.023.plan
M
hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/AbstractUnnestMapOperator.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/006/006.010.plan
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/bytes/stream/in/ByteBufferInputStream.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/filter/FilterAccessorProvider.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/array-access-pushdown/array-access-pushdown.008.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/007/007.010.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/join/condition-pushdown/condition-pushdown.014.plan
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/descriptor/ScanDefineDescriptor.java
M
hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/DataSourceScanOperator.java
A
hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/base/ScalarEvaluatorFactoryTree.java
A
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/assembler/IAssemblerStateController.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/util/SchemaJSONBuilderVisitor.java
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/schema/ExpectedSchemaBuilder.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/field-access-pushdown/field-access-pushdown.004.plan
M
asterixdb/asterix-column/src/test/java/org/apache/asterix/column/values/reader/AbstractDummyColumnValuesReader.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.025.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/004/004.113.plan
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/PushdownProcessorsExecutor.java
M
hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/LeftOuterUnnestMapOperator.java
M
hyracks-fullstack/hyracks/hyracks-data/hyracks-data-std/src/main/java/org/apache/hyracks/data/std/util/GrowableArray.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/001/001.015.plan
M
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/DataSource.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/join/condition-pushdown/condition-pushdown.033.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/004/004.006.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/array-access-pushdown/array-access-pushdown.012.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.015.plan
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.018.plan
A
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/query/ScalarEvaluatorTree.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/pushdown/other-pushdowns/other-pushdowns.012.plan
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/schema/AnyExpectedSchemaNode.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/operation/lsm/secondary/create/PrimaryScanColumnTupleWithMetaProjector.java
M
hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/comm/io/ArrayTupleBuilder.java
M
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/pushdown/visitor/PushdownOperatorVisitor.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/types/AUnionType.java
M
asterixdb/asterix-column/src/main/java/org/apache/asterix/column/metadata/schema/visitor/SchemaClipperVisitor.java
M
asterixdb/asterix-app/src/test/resources/runtimets/results/column/filter/boolean/boolean.031.adm
178 files changed, 4,131 insertions(+), 840 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/25/19225/3
--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19225
To unsubscribe, or for help writing mail filters, visit
https://asterix-gerrit.ics.uci.edu/settings
Gerrit-Project: asterixdb
Gerrit-Branch: goldfish
Gerrit-Change-Id: Ibbebcd9f78ba911065787d2d4099c20b019c91ec
Gerrit-Change-Number: 19225
Gerrit-PatchSet: 3
Gerrit-Owner: Ritik Raj <[email protected]>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Attention: Ritik Raj <[email protected]>
Gerrit-MessageType: newpatchset