You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by ab...@apache.org on 2020/07/10 14:02:18 UTC
[kudu] 02/03: KUDU-3090 Support backing up ownership info
This is an automated email from the ASF dual-hosted git repository.
abukor pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git
commit fad779cf7a73722fe670d4eee2f67b3691602bf0
Author: Attila Bukor <ab...@apache.org>
AuthorDate: Tue Jun 30 16:37:01 2020 +0200
KUDU-3090 Support backing up ownership info
Change-Id: I963db0a36cd4b7f080944ed46fc4119b1e055143
Reviewed-on: http://gerrit.cloudera.org:8080/16126
Tested-by: Kudu Jenkins
Reviewed-by: Grant Henke <gr...@apache.org>
---
java/kudu-backup-common/src/main/protobuf/backup.proto | 2 ++
.../src/main/scala/org/apache/kudu/backup/TableMetadata.scala | 6 ++++--
.../src/test/scala/org/apache/kudu/backup/TestKuduBackup.scala | 2 ++
.../src/main/java/org/apache/kudu/util/SchemaGenerator.java | 2 ++
4 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/java/kudu-backup-common/src/main/protobuf/backup.proto b/java/kudu-backup-common/src/main/protobuf/backup.proto
index ef8678a..94c07c4 100644
--- a/java/kudu-backup-common/src/main/protobuf/backup.proto
+++ b/java/kudu-backup-common/src/main/protobuf/backup.proto
@@ -136,4 +136,6 @@ message TableMetadataPB {
// This is validation only and not used when creating the restored table.
// This is useful for detecting dropped and added partitions.
map<string, PartitionMetadataPB> tablets = 11;
+ // The owner of the table.
+ string table_owner = 12;
}
\ No newline at end of file
diff --git a/java/kudu-backup-common/src/main/scala/org/apache/kudu/backup/TableMetadata.scala b/java/kudu-backup-common/src/main/scala/org/apache/kudu/backup/TableMetadata.scala
index a859d92..99b8769 100644
--- a/java/kudu-backup-common/src/main/scala/org/apache/kudu/backup/TableMetadata.scala
+++ b/java/kudu-backup-common/src/main/scala/org/apache/kudu/backup/TableMetadata.scala
@@ -91,7 +91,7 @@ object TableMetadata {
(id, metadata)
}
- TableMetadataPB
+ val builder = TableMetadataPB
.newBuilder()
.setVersion(MetadataVersion)
.setFromMs(fromMs)
@@ -104,7 +104,8 @@ object TableMetadata {
.setNumReplicas(table.getNumReplicas)
.setPartitions(getPartitionSchemaMetadata(table))
.putAllTablets(tablets.asJava)
- .build()
+ .setTableOwner(table.getOwner)
+ builder.build()
}
private def getTypeAttributesMetadata(col: ColumnSchema): ColumnTypeAttributesMetadataPB = {
@@ -329,6 +330,7 @@ object TableMetadata {
def getCreateTableOptionsWithoutRangePartitions(metadata: TableMetadataPB): CreateTableOptions = {
val schema = getKuduSchema(metadata)
val options = new CreateTableOptions()
+ options.setOwner(metadata.getTableOwner)
options.setNumReplicas(metadata.getNumReplicas)
metadata.getPartitions.getHashPartitionsList.asScala.foreach { hp =>
options
diff --git a/java/kudu-backup/src/test/scala/org/apache/kudu/backup/TestKuduBackup.scala b/java/kudu-backup/src/test/scala/org/apache/kudu/backup/TestKuduBackup.scala
index b513b20..9fb9265 100644
--- a/java/kudu-backup/src/test/scala/org/apache/kudu/backup/TestKuduBackup.scala
+++ b/java/kudu-backup/src/test/scala/org/apache/kudu/backup/TestKuduBackup.scala
@@ -747,6 +747,8 @@ class TestKuduBackup extends KuduTestSuite {
def validateTablesMatch(tableA: String, tableB: String): Unit = {
val tA = kuduClient.openTable(tableA)
val tB = kuduClient.openTable(tableB)
+ assertEquals(tA.getOwner, tB.getOwner)
+ assertNotEquals("", tA.getOwner);
assertEquals(tA.getNumReplicas, tB.getNumReplicas)
assertTrue(schemasMatch(tA.getSchema, tB.getSchema))
assertTrue(partitionSchemasMatch(tA.getPartitionSchema, tB.getPartitionSchema))
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/util/SchemaGenerator.java b/java/kudu-client/src/main/java/org/apache/kudu/util/SchemaGenerator.java
index 2da7bd2..ee248a0 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/util/SchemaGenerator.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/util/SchemaGenerator.java
@@ -287,6 +287,8 @@ public class SchemaGenerator {
}
}
}
+
+ options.setOwner("random-" + random.nextInt(1000000));
return options;
}