[ https://issues.apache.org/jira/browse/HBASE-21492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Kyle Purtell updated HBASE-21492: ---------------------------------------- Fix Version/s: (was: 1.5.0) > CellCodec Written To WAL Before It's Verified > --------------------------------------------- > > Key: HBASE-21492 > URL: https://issues.apache.org/jira/browse/HBASE-21492 > Project: HBase > Issue Type: Bug > Components: wal > Affects Versions: 1.2.7, 2.0.2 > Reporter: David Mollitor > Assignee: David Mollitor > Priority: Critical > Fix For: 3.0.0, 2.2.0, 2.1.2, 1.2.10, 2.0.4, 1.4.10, 1.3.4 > > Attachments: HBASE-21492-branch-1.patch, HBASE-21492.1.patch, > HBASE-21492.2.patch, HBASE-21492.2.patch > > > The cell codec class name is written into the WAL file, but the cell codec > class is not actually verified to exist. Therefore, users can inadvertently > configure an invalid class name and it will be recorded into the WAL file. > At that point, the WAL file becomes unreadable and blocks processing of all > other WAL files. > {code:java|title=AbstractProtobufLogWriter.java} > private WALHeader buildWALHeader0(Configuration conf, WALHeader.Builder > builder) { > if (!builder.hasWriterClsName()) { > builder.setWriterClsName(getWriterClassName()); > } > if (!builder.hasCellCodecClsName()) { > builder.setCellCodecClsName(WALCellCodec.getWALCellCodecClass(conf)); > } > return builder.build(); > } > {code} > https://github.com/apache/hbase/blob/025ddce868eb06b4072b5152c5ffae5a01e7ae30/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AbstractProtobufLogWriter.java#L78-L86 -- This message was sent by Atlassian Jira (v8.3.4#803005)