From 808b778c30c135ac8b6a7a0e9076f1b61f308ed8 Mon Sep 17 00:00:00 2001 From: Salman Niazi Date: Tue, 25 May 2021 11:28:51 +0200 Subject: [PATCH 1/2] Auto generated commit msg. --- schema/create-tables.sh | 4 +++- schema/update-schema_3.2.0.3_to_3.2.0.4.sql | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/schema/create-tables.sh b/schema/create-tables.sh index 8f01f574..896110fc 100755 --- a/schema/create-tables.sh +++ b/schema/create-tables.sh @@ -11,4 +11,6 @@ mysql --host=$1 --port=$2 -u $3 -p$4 $5 < update-schema_2.8.2.9_to_2.8.2.10.sql mysql --host=$1 --port=$2 -u $3 -p$4 $5 < update-schema_2.8.2.10_to_3.2.0.0.sql && mysql --host=$1 --port=$2 -u $3 -p$4 $5 < update-schema_3.2.0.0_to_3.2.0.1.sql && mysql --host=$1 --port=$2 -u $3 -p$4 $5 < update-schema_3.2.0.1_to_3.2.0.2.sql && -mysql --host=$1 --port=$2 -u $3 -p$4 $5 < update-schema_3.2.0.2_to_3.2.0.3.sql +mysql --host=$1 --port=$2 -u $3 -p$4 $5 < update-schema_3.2.0.2_to_3.2.0.3.sql && +mysql --host=$1 --port=$2 -u $3 -p$4 $5 < update-schema_3.2.0.3_to_3.2.0.4.sql + diff --git a/schema/update-schema_3.2.0.3_to_3.2.0.4.sql b/schema/update-schema_3.2.0.3_to_3.2.0.4.sql index e69de29b..f72dc7ab 100644 --- a/schema/update-schema_3.2.0.3_to_3.2.0.4.sql +++ b/schema/update-schema_3.2.0.3_to_3.2.0.4.sql @@ -0,0 +1 @@ +ALTER TABLE hdfs_xattrs MODIFY value VARBINARY(29500); From 4069cb568168a6c22fd47ac514da9631f9020f25 Mon Sep 17 00:00:00 2001 From: Salman Niazi Date: Tue, 25 May 2021 16:42:49 +0200 Subject: [PATCH 2/2] [HOPS-1621] Increased the row size of hdfs_xattrs table --- schema/update-schema_3.2.0.3_to_3.2.0.4.sql | 2 ++ .../metadata/ndb/dalimpl/hdfs/XAttrClusterJ.java | 13 ++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/schema/update-schema_3.2.0.3_to_3.2.0.4.sql b/schema/update-schema_3.2.0.3_to_3.2.0.4.sql index f72dc7ab..037392a3 100644 --- a/schema/update-schema_3.2.0.3_to_3.2.0.4.sql +++ b/schema/update-schema_3.2.0.3_to_3.2.0.4.sql @@ -1 +1,3 @@ ALTER TABLE hdfs_xattrs MODIFY value VARBINARY(29500); + +ALTER TABLE hdfs_file_provenance_xattrs_buffer MODIFY value VARBINARY(29500); diff --git a/src/main/java/io/hops/metadata/ndb/dalimpl/hdfs/XAttrClusterJ.java b/src/main/java/io/hops/metadata/ndb/dalimpl/hdfs/XAttrClusterJ.java index d10e1f0e..89a8475f 100644 --- a/src/main/java/io/hops/metadata/ndb/dalimpl/hdfs/XAttrClusterJ.java +++ b/src/main/java/io/hops/metadata/ndb/dalimpl/hdfs/XAttrClusterJ.java @@ -203,7 +203,6 @@ public void prepare(Collection removed, Collection new deletions.addAll(xdeletions); changes.addAll(persistables); } - session.deletePersistentAll(deletions); session.savePersistentAll(changes); }finally { @@ -295,11 +294,19 @@ private StoredXAttr convert(HopsSession session, List dtos) for(XAttrDTO dto : dtos){ if(dto.getNumParts() != NON_EXISTS_XATTR){ values[index] = dto.getValue(); + if(dto.getNumParts() != dtos.size()){ + throw new IllegalStateException("Failed to read XAttr [ " + dto.getName() + + " ] for Inode " + dto.getINodeId() +"."+ + " Parts expected: "+dto.getNumParts()+" Parts read: " + dtos.size()); + } }else{ XAttrDTO partDto = session.find(XAttrDTO.class, new Object[]{dto.getINodeId(), dto.getNamespace(), dto.getName(), index}); - values[index] = partDto.getValue(); + if(partDto != null) { + values[index] = partDto.getValue(); + session.release(partDto); + } } if(values[index] == null){ nulls++; @@ -321,7 +328,7 @@ private StoredXAttr convert(HopsSession session, List dtos) } return new StoredXAttr(dto.getINodeId(), dto.getNamespace(), - dto.getName(), value); + dto.getName(), value, dto.getNumParts()); } }