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 <[email protected]>
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 <[email protected]>
---
 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;
   }
 

Reply via email to