Skip to content

Commit b02b7d8

Browse files
author
xicm
committed
HUDI-3682 testReaderFilterRowKeys fails in TestHoodieOrcReaderWriter
1 parent 4f5cad8 commit b02b7d8

2 files changed

Lines changed: 22 additions & 6 deletions

File tree

hudi-client/hudi-client-common/src/test/java/org/apache/hudi/io/storage/TestHoodieOrcReaderWriter.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,15 @@
3434
import org.mockito.Mockito;
3535

3636
import java.io.IOException;
37+
import java.util.function.Supplier;
3738

3839
import static org.apache.hudi.avro.HoodieAvroWriteSupport.HOODIE_AVRO_BLOOM_FILTER_METADATA_KEY;
3940
import static org.apache.hudi.avro.HoodieAvroWriteSupport.HOODIE_MAX_RECORD_KEY_FOOTER;
4041
import static org.apache.hudi.avro.HoodieAvroWriteSupport.HOODIE_MIN_RECORD_KEY_FOOTER;
4142
import static org.apache.hudi.io.storage.HoodieOrcConfig.AVRO_SCHEMA_METADATA_KEY;
4243
import static org.junit.jupiter.api.Assertions.assertEquals;
4344
import static org.junit.jupiter.api.Assertions.assertTrue;
45+
import static org.mockito.Mockito.when;
4446

4547
public class TestHoodieOrcReaderWriter extends TestHoodieReaderWriterBase {
4648

@@ -59,6 +61,9 @@ protected HoodieFileWriter<GenericRecord> createWriter(
5961
int maxFileSize = Integer.parseInt(HoodieStorageConfig.ORC_FILE_MAX_SIZE.defaultValue());
6062
HoodieOrcConfig config = new HoodieOrcConfig(conf, CompressionKind.ZLIB, orcStripSize, orcBlockSize, maxFileSize, filter);
6163
TaskContextSupplier mockTaskContextSupplier = Mockito.mock(TaskContextSupplier.class);
64+
Supplier<Integer> partitionSupplier = Mockito.mock(Supplier.class);
65+
when(mockTaskContextSupplier.getPartitionIdSupplier()).thenReturn(partitionSupplier);
66+
when(partitionSupplier.get()).thenReturn(10);
6267
String instantTime = "000";
6368
return new HoodieOrcWriter<>(instantTime, getFilePath(), config, avroSchema, mockTaskContextSupplier);
6469
}
@@ -92,9 +97,4 @@ protected void verifySchema(Configuration conf, String schemaPath) throws IOExce
9297
orcReader.getSchema().toString());
9398
}
9499
}
95-
96-
@Override
97-
public void testReaderFilterRowKeys() {
98-
// TODO(HUDI-3682): fix filterRowKeys test for ORC due to a bug in ORC logic
99-
}
100100
}

hudi-client/hudi-client-common/src/test/java/org/apache/hudi/io/storage/TestHoodieReaderWriterBase.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
package org.apache.hudi.io.storage;
2121

2222
import org.apache.hudi.common.bloom.BloomFilter;
23+
import org.apache.hudi.common.model.HoodieKey;
2324

2425
import org.apache.avro.Schema;
2526
import org.apache.avro.generic.GenericData;
@@ -157,7 +158,7 @@ public void testWriteReadWithEvolvedSchema() throws Exception {
157158

158159
@Test
159160
public void testReaderFilterRowKeys() throws Exception {
160-
writeFileWithSimpleSchema();
161+
writeFileWithSchemaWithMeta();
161162
Configuration conf = new Configuration();
162163
verifyMetadata(conf);
163164
verifyFilterRowKeys(createReader(conf));
@@ -177,6 +178,21 @@ protected void writeFileWithSimpleSchema() throws Exception {
177178
writer.close();
178179
}
179180

181+
protected void writeFileWithSchemaWithMeta() throws Exception {
182+
Schema avroSchema = getSchemaFromResource(TestHoodieReaderWriterBase.class, "/exampleSchemaWithMetaFields.avsc");
183+
HoodieFileWriter<GenericRecord> writer = createWriter(avroSchema, true);
184+
for (int i = 0; i < NUM_RECORDS; i++) {
185+
GenericRecord record = new GenericData.Record(avroSchema);
186+
String key = "key" + String.format("%02d", i);
187+
record.put("_row_key", key);
188+
record.put("time", Integer.toString(i));
189+
record.put("number", i);
190+
writer.writeAvroWithMetadata(new HoodieKey((String) record.get("_row_key"),
191+
Integer.toString((Integer) record.get("number"))), record);
192+
}
193+
writer.close();
194+
}
195+
180196
protected void verifySimpleRecords(Iterator<GenericRecord> iterator) {
181197
int index = 0;
182198
while (iterator.hasNext()) {

0 commit comments

Comments
 (0)