XAttr value size uses the max size of a ndb table row - no flexibility for future possible add column changes

Description

Currently the hdfs_xattrs uses the maximum size of an ndb table row - 14k. This leaves for no flexibility to allow possible future column additions.

Currently:
CREATE TABLE `hdfs_xattrs` (
`inode_id` bigint(20) NOT NULL,
`namespace` tinyint(4) NOT NULL,
`name` varchar(255) COLLATE latin1_general_cs NOT NULL,
`value` varchar(13730) COLLATE latin1_general_cs DEFAULT '',
PRIMARY KEY (`inode_id`,`namespace`,`name`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs COMMENT='NDB_TABLE=READ_BACKUP=1'

I need a mirror table for provenance that requires the same structure, but also another column for the inode logical time(which I cannot add because we are using max row size for the current 4 columns).

After talking to Mahmoud - my proposal is to reduce the max size of the xattr value to 13000 or 13500. This value is anyway hops specific and not hdfs specific. This leaves 730 or 230 bytes for any future changes to the structure of the table.

Status

Assignee

Alex Ormenisan

Reporter

Alex Ormenisan

Labels

Fix versions

Affects versions

2.8.2.8

Priority

Medium