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

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


The following commit(s) were added to refs/heads/master by this push:
     new 2f1e3e1  Revert "Read and apply schema for each log block from the 
metadata header instead of the latest schema"
2f1e3e1 is described below

commit 2f1e3e15fb5844edf406b03085309d2135f47177
Author: Balaji Varadarajan <[email protected]>
AuthorDate: Thu Apr 18 00:44:01 2019 -0700

    Revert "Read and apply schema for each log block from the metadata header 
instead of the latest schema"
    
    This reverts commit 9e7ce19b06c5b6235857e22dc039bb726b61f8ca.
---
 .../common/table/log/HoodieLogFileReader.java      |  9 +----
 .../common/table/log/HoodieLogFormatTest.java      | 45 ----------------------
 2 files changed, 2 insertions(+), 52 deletions(-)

diff --git 
a/hoodie-common/src/main/java/com/uber/hoodie/common/table/log/HoodieLogFileReader.java
 
b/hoodie-common/src/main/java/com/uber/hoodie/common/table/log/HoodieLogFileReader.java
index 878457f..836870e 100644
--- 
a/hoodie-common/src/main/java/com/uber/hoodie/common/table/log/HoodieLogFileReader.java
+++ 
b/hoodie-common/src/main/java/com/uber/hoodie/common/table/log/HoodieLogFileReader.java
@@ -197,17 +197,12 @@ class HoodieLogFileReader implements 
HoodieLogFormat.Reader {
     switch (blockType) {
       // based on type read the block
       case AVRO_DATA_BLOCK:
-        Schema readerSchemaForBlock = readerSchema;
-        if (header != null) {
-          String schema = header.get(HeaderMetadataType.SCHEMA);
-          readerSchemaForBlock = schema != null ? new 
Schema.Parser().parse(schema) : readerSchema;
-        }
         if (nextBlockVersion.getVersion() == 
HoodieLogFormatVersion.DEFAULT_VERSION) {
-          return HoodieAvroDataBlock.getBlock(content, readerSchemaForBlock);
+          return HoodieAvroDataBlock.getBlock(content, readerSchema);
         } else {
           return HoodieAvroDataBlock
               .getBlock(logFile, inputStream, Optional.ofNullable(content), 
readBlockLazily,
-                  contentPosition, contentLength, blockEndPos, 
readerSchemaForBlock, header, footer);
+                  contentPosition, contentLength, blockEndPos, readerSchema, 
header, footer);
         }
       case DELETE_BLOCK:
         return HoodieDeleteBlock
diff --git 
a/hoodie-common/src/test/java/com/uber/hoodie/common/table/log/HoodieLogFormatTest.java
 
b/hoodie-common/src/test/java/com/uber/hoodie/common/table/log/HoodieLogFormatTest.java
index 80b1d58..cc795ff 100644
--- 
a/hoodie-common/src/test/java/com/uber/hoodie/common/table/log/HoodieLogFormatTest.java
+++ 
b/hoodie-common/src/test/java/com/uber/hoodie/common/table/log/HoodieLogFormatTest.java
@@ -16,7 +16,6 @@
 
 package com.uber.hoodie.common.table.log;
 
-import static com.uber.hoodie.common.util.SchemaTestUtil.getEvolvedSchema;
 import static com.uber.hoodie.common.util.SchemaTestUtil.getSimpleSchema;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -1322,48 +1321,4 @@ public class HoodieLogFormatTest {
     assertFalse(reader.hasPrev());
     reader.close();
   }
-
-  @SuppressWarnings("unchecked")
-  @Test
-  public void testAppendWithSchemaEvolution() throws IOException, 
URISyntaxException, InterruptedException {
-    Writer writer = 
HoodieLogFormat.newWriterBuilder().onParentPath(partitionPath)
-        
.withFileExtension(HoodieLogFile.DELTA_EXTENSION).withFileId("test-fileid1")
-        .overBaseCommit("100").withFs(fs).build();
-    Schema schema = getSimpleSchema();
-    List<IndexedRecord> records1 = SchemaTestUtil.generateTestRecords(0, 100);
-    List<IndexedRecord> copyOfRecords1 = records1.stream().map(
-        record -> HoodieAvroUtils.rewriteRecord((GenericRecord) record, 
schema)).collect(Collectors.toList());
-    Map<HoodieLogBlock.HeaderMetadataType, String> header = Maps.newHashMap();
-    header.put(HoodieLogBlock.HeaderMetadataType.INSTANT_TIME, "100");
-    header.put(HoodieLogBlock.HeaderMetadataType.SCHEMA, schema.toString());
-    HoodieAvroDataBlock dataBlock = new HoodieAvroDataBlock(copyOfRecords1, 
header);
-    writer = writer.appendBlock(dataBlock);
-    writer.close();
-
-    Schema evolvedSchema = getEvolvedSchema();
-    header.put(HoodieLogBlock.HeaderMetadataType.SCHEMA, 
evolvedSchema.toString());
-    writer = HoodieLogFormat.newWriterBuilder().onParentPath(partitionPath)
-        
.withFileExtension(HoodieLogFile.DELTA_EXTENSION).withFileId("test-fileid1").overBaseCommit("100")
-        .withFs(fs).build();
-    List<IndexedRecord> records2 = 
SchemaTestUtil.generateEvolvedTestRecords(0, 100);
-    List<IndexedRecord> copyOfRecords2 = records2.stream().map(
-        record -> HoodieAvroUtils.rewriteRecord((GenericRecord) record, 
evolvedSchema)).collect(Collectors.toList());
-    dataBlock = new HoodieAvroDataBlock(copyOfRecords2, header);
-    writer = writer.appendBlock(dataBlock);
-    writer.close();
-
-    // Pass the evolved schema as the latest schema
-    HoodieLogFileReader reader = new HoodieLogFileReader(fs, 
writer.getLogFile(), SchemaTestUtil.getEvolvedSchema(),
-        bufferSize, readBlocksLazily, true);
-
-    assertTrue("First block should be available", reader.hasNext());
-    // Read the 100 records from the first log block
-    assertEquals(((HoodieAvroDataBlock) reader.next()).getRecords().size(), 
100);
-
-    assertTrue("Second block should be available", reader.hasNext());
-    // Read the 100 records from the second log block
-    assertEquals(((HoodieAvroDataBlock) reader.next()).getRecords().size(), 
100);
-
-    reader.close();
-  }
 }

Reply via email to