You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by gr...@apache.org on 2018/05/16 17:36:19 UTC

[1/2] kudu git commit: remove logged Kudu URLs

Repository: kudu
Updated Branches:
  refs/heads/master eb81a04db -> 0442d47d5


remove logged Kudu URLs

Previously we would log urls like:
http://kudu.apache.org/releases/1.7.0/docs/...

...to link to pages for common-enough problems with complicated fixes
that warranted some documentation. Given how fragile these URLs can be,
this patch removes such messages, particularly since the URLs are
generated based on `version.txt`, which doesn't necessarily reflect a
proper URL (e.g. if on a SNAPSHOT build) and may be changed by
thirdparty vendors of Kudu.

Change-Id: I357693122d27337183cb85c677a85e7b8d63fe48
Reviewed-on: http://gerrit.cloudera.org:8080/9280
Reviewed-by: Grant Henke <gr...@apache.org>
Tested-by: Kudu Jenkins


Project: http://git-wip-us.apache.org/repos/asf/kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/caea85d5
Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/caea85d5
Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/caea85d5

Branch: refs/heads/master
Commit: caea85d501742a2bf2c4cfc74fead46167d7a5f3
Parents: eb81a04
Author: Andrew Wong <aw...@cloudera.com>
Authored: Fri Feb 9 14:21:05 2018 -0800
Committer: Andrew Wong <aw...@cloudera.com>
Committed: Wed May 16 17:25:45 2018 +0000

----------------------------------------------------------------------
 src/kudu/server/server_base.cc     | 5 +----
 src/kudu/tserver/tablet_service.cc | 5 +----
 2 files changed, 2 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kudu/blob/caea85d5/src/kudu/server/server_base.cc
----------------------------------------------------------------------
diff --git a/src/kudu/server/server_base.cc b/src/kudu/server/server_base.cc
index f693a73..1a742d1 100644
--- a/src/kudu/server/server_base.cc
+++ b/src/kudu/server/server_base.cc
@@ -81,7 +81,6 @@
 #include "kudu/util/thread.h"
 #include "kudu/util/user.h"
 #include "kudu/util/version_info.h"
-#include "kudu/util/website_util.h"
 
 DEFINE_int32(num_reactor_threads, 4, "Number of libev reactor threads to start.");
 TAG_FLAG(num_reactor_threads, advanced);
@@ -439,9 +438,7 @@ Status ServerBase::Init() {
       // `fs_data_dirs` configuration.
       LOG(INFO) << "To start Kudu with a different FS layout, the `kudu fs "
                    "update_dirs` tool must be run first";
-      return s.CloneAndPrepend(
-          strings::Substitute("FS layout already exists; not overwriting existing layout. See $0",
-                              KuduDocsTroubleshootingUrl()));
+      return s.CloneAndPrepend("FS layout already exists; not overwriting existing layout");
     }
     RETURN_NOT_OK_PREPEND(s, "Could not create new FS layout");
     s = fs_manager_->Open(&report);

http://git-wip-us.apache.org/repos/asf/kudu/blob/caea85d5/src/kudu/tserver/tablet_service.cc
----------------------------------------------------------------------
diff --git a/src/kudu/tserver/tablet_service.cc b/src/kudu/tserver/tablet_service.cc
index cb4cf12..89dbf95 100644
--- a/src/kudu/tserver/tablet_service.cc
+++ b/src/kudu/tserver/tablet_service.cc
@@ -97,7 +97,6 @@
 #include "kudu/util/status_callback.h"
 #include "kudu/util/trace.h"
 #include "kudu/util/trace_metrics.h"
-#include "kudu/util/website_util.h"
 
 DEFINE_int32(scanner_default_batch_size_bytes, 1024 * 1024,
              "The default size for batches of scan results");
@@ -858,9 +857,7 @@ void TabletServiceImpl::Write(const WriteRequestPB* req,
   double capacity_pct;
   if (process_memory::SoftLimitExceeded(&capacity_pct)) {
     tablet->metrics()->leader_memory_pressure_rejections->Increment();
-    string msg = StringPrintf(
-        "Soft memory limit exceeded (at %.2f%% of capacity). See %s",
-        capacity_pct, KuduDocsTroubleshootingUrl().c_str());
+    string msg = StringPrintf("Soft memory limit exceeded (at %.2f%% of capacity)", capacity_pct);
     if (capacity_pct >= FLAGS_memory_limit_warn_threshold_percentage) {
       KLOG_EVERY_N_SECS(WARNING, 1) << "Rejecting Write request: " << msg << THROTTLE_MSG;
     } else {


[2/2] kudu git commit: [java] Expose the table replication factor on KuduTable

Posted by gr...@apache.org.
[java] Expose the table replication factor on KuduTable

Exposes the numReplicas table property to the KuduTable
API. The numReplicas property already exists in
GetTableSchemaResponsePB.

Change-Id: I18a044717dff1f39f1c9addd290917b8ec5a6f72
Reviewed-on: http://gerrit.cloudera.org:8080/10382
Tested-by: Grant Henke <gr...@apache.org>
Reviewed-by: Adar Dembo <ad...@cloudera.com>


Project: http://git-wip-us.apache.org/repos/asf/kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/0442d47d
Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/0442d47d
Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/0442d47d

Branch: refs/heads/master
Commit: 0442d47d55282ad438ab6293646dfb34a8f01f86
Parents: caea85d
Author: Grant Henke <gr...@apache.org>
Authored: Fri May 11 16:08:40 2018 -0500
Committer: Grant Henke <gr...@apache.org>
Committed: Wed May 16 17:35:13 2018 +0000

----------------------------------------------------------------------
 .../java/org/apache/kudu/client/AsyncKuduClient.java |  5 +++--
 .../apache/kudu/client/GetTableSchemaRequest.java    |  1 +
 .../apache/kudu/client/GetTableSchemaResponse.java   | 12 ++++++++++++
 .../main/java/org/apache/kudu/client/KuduTable.java  | 15 ++++++++++++++-
 .../org/apache/kudu/client/TestAsyncKuduClient.java  |  2 +-
 .../java/org/apache/kudu/client/TestKeyEncoding.java |  6 +++---
 .../java/org/apache/kudu/client/TestKuduTable.java   | 15 +++++++++++++++
 7 files changed, 49 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kudu/blob/0442d47d/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
index 83d0684..94eefba 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
@@ -347,7 +347,7 @@ public class AsyncKuduClient implements AutoCloseable {
     this.channelFactory = b.createChannelFactory();
     this.masterAddresses = b.masterAddresses;
     this.masterTable = new KuduTable(this, MASTER_TABLE_NAME_PLACEHOLDER,
-        MASTER_TABLE_NAME_PLACEHOLDER, null, null);
+        MASTER_TABLE_NAME_PLACEHOLDER, null, null, 1);
     this.defaultOperationTimeoutMs = b.defaultOperationTimeoutMs;
     this.defaultAdminOperationTimeoutMs = b.defaultAdminOperationTimeoutMs;
     this.defaultSocketReadTimeoutMs = b.defaultSocketReadTimeoutMs;
@@ -730,7 +730,8 @@ public class AsyncKuduClient implements AutoCloseable {
             tableName,
             resp.getTableId(),
             resp.getSchema(),
-            resp.getPartitionSchema());
+            resp.getPartitionSchema(),
+            resp.getNumReplicas());
       }
     });
   }

http://git-wip-us.apache.org/repos/asf/kudu/blob/0442d47d/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaRequest.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaRequest.java b/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaRequest.java
index 7c8ebc8..ec4afef 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaRequest.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaRequest.java
@@ -83,6 +83,7 @@ public class GetTableSchemaRequest extends KuduRpc<GetTableSchemaResponse> {
         tsUUID,
         schema,
         respBuilder.getTableId().toStringUtf8(),
+        respBuilder.getNumReplicas(),
         ProtobufHelper.pbToPartitionSchema(respBuilder.getPartitionSchema(), schema));
     return new Pair<GetTableSchemaResponse, Object>(
         response, respBuilder.hasError() ? respBuilder.getError() : null);

http://git-wip-us.apache.org/repos/asf/kudu/blob/0442d47d/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaResponse.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaResponse.java b/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaResponse.java
index d513c13..a426768 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaResponse.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/GetTableSchemaResponse.java
@@ -27,23 +27,27 @@ public class GetTableSchemaResponse extends KuduRpcResponse {
   private final Schema schema;
   private final PartitionSchema partitionSchema;
   private final String tableId;
+  private final int numReplicas;
 
   /**
    * @param ellapsedMillis Time in milliseconds since RPC creation to now
    * @param tsUUID the UUID of the tablet server that sent the response
    * @param schema the table's schema
    * @param tableId the UUID of the table in the response
+   * @param numReplicas the table's replication factor
    * @param partitionSchema the table's partition schema
    */
   GetTableSchemaResponse(long ellapsedMillis,
                          String tsUUID,
                          Schema schema,
                          String tableId,
+                         int numReplicas,
                          PartitionSchema partitionSchema) {
     super(ellapsedMillis, tsUUID);
     this.schema = schema;
     this.partitionSchema = partitionSchema;
     this.tableId = tableId;
+    this.numReplicas = numReplicas;
   }
 
   /**
@@ -69,4 +73,12 @@ public class GetTableSchemaResponse extends KuduRpcResponse {
   public String getTableId() {
     return tableId;
   }
+
+  /**
+   * Get the table's replication factor.
+   * @return the table's replication factor
+   */
+  public int getNumReplicas() {
+    return numReplicas;
+  }
 }

http://git-wip-us.apache.org/repos/asf/kudu/blob/0442d47d/java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java b/java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java
index 028d842..83186d9 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java
@@ -47,20 +47,25 @@ public class KuduTable {
   private final AsyncKuduClient client;
   private final String name;
   private final String tableId;
+  private final int numReplicas;
 
   /**
    * Package-private constructor, use {@link KuduClient#openTable(String)} to get an instance.
    * @param client the client this instance belongs to
    * @param name this table's name
+   * @param tableId this table's UUID
    * @param schema this table's schema
+   * @param partitionSchema this table's partition schema
+   * @param numReplicas this table's replication factor
    */
   KuduTable(AsyncKuduClient client, String name, String tableId,
-            Schema schema, PartitionSchema partitionSchema) {
+            Schema schema, PartitionSchema partitionSchema, int numReplicas) {
     this.schema = schema;
     this.partitionSchema = partitionSchema;
     this.client = client;
     this.name = name;
     this.tableId = tableId;
+    this.numReplicas = numReplicas;
   }
 
   /**
@@ -101,6 +106,14 @@ public class KuduTable {
   }
 
   /**
+   * Get this table's replication factor.
+   * @return this table's replication factor
+   */
+  public int getNumReplicas() {
+    return numReplicas;
+  }
+
+  /**
    * Get the async client that created this instance.
    * @return an async kudu client
    */

http://git-wip-us.apache.org/repos/asf/kudu/blob/0442d47d/java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java b/java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
index ae3c04f..2ff118a 100644
--- a/java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
+++ b/java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
@@ -152,7 +152,7 @@ public class TestAsyncKuduClient extends BaseKuduTest {
     // Test that a tablet full of unreachable replicas won't make us retry.
     try {
       KuduTable badTable = new KuduTable(client, "Invalid table name",
-          "Invalid table ID", null, null);
+          "Invalid table ID", null, null, 3);
       client.discoverTablets(badTable, null, requestBatchSize, tabletLocations, 1000);
       fail("This should have failed quickly");
     } catch (NonRecoverableException ex) {

http://git-wip-us.apache.org/repos/asf/kudu/blob/0442d47d/java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java b/java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java
index 88f3e9b..f169f48 100644
--- a/java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java
+++ b/java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java
@@ -100,7 +100,7 @@ public class TestKeyEncoding extends BaseKuduTest {
     Schema schemaOneString =
         buildSchema(new ColumnSchema.ColumnSchemaBuilder("key", Type.STRING).key(true));
     KuduTable table = new KuduTable(null, "one", "one", schemaOneString,
-                                    defaultPartitionSchema(schemaOneString));
+                                    defaultPartitionSchema(schemaOneString), 3);
     Insert oneKeyInsert = new Insert(table);
     PartialRow row = oneKeyInsert.getRow();
     row.addString("key", "foo");
@@ -110,7 +110,7 @@ public class TestKeyEncoding extends BaseKuduTest {
         new ColumnSchema.ColumnSchemaBuilder("key", Type.STRING).key(true),
         new ColumnSchema.ColumnSchemaBuilder("key2", Type.STRING).key(true));
     KuduTable table2 = new KuduTable(null, "two", "two", schemaTwoString,
-                                     defaultPartitionSchema(schemaTwoString));
+                                     defaultPartitionSchema(schemaTwoString), 3);
     Insert twoKeyInsert = new Insert(table2);
     row = twoKeyInsert.getRow();
     row.addString("key", "foo");
@@ -129,7 +129,7 @@ public class TestKeyEncoding extends BaseKuduTest {
         new ColumnSchema.ColumnSchemaBuilder("key2", Type.STRING).key(true));
     PartitionSchema partitionSchemaIntString = defaultPartitionSchema(schemaIntString);
     KuduTable table3 = new KuduTable(null, "three", "three",
-        schemaIntString, partitionSchemaIntString);
+        schemaIntString, partitionSchemaIntString, 3);
     Insert small = new Insert(table3);
     row = small.getRow();
     row.addInt("key", 20);

http://git-wip-us.apache.org/repos/asf/kudu/blob/0442d47d/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java b/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java
index b07f45a..7f19e43 100644
--- a/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java
+++ b/java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTable.java
@@ -619,4 +619,19 @@ public class TestKuduTable extends BaseKuduTest {
     }
     fail("Could not run test even after multiple attempts");
   }
+
+  @Test(timeout = 100000)
+  public void testNumReplicas() throws Exception {
+    for (int i = 1; i <= 3; i++) {
+      // Ignore even numbers.
+      if (i % 2 != 0) {
+        String tableName = name.getMethodName() + System.currentTimeMillis() + "-" + i;
+        CreateTableOptions options = getBasicCreateTableOptions();
+        options.setNumReplicas(i);
+        createTable(tableName, basicSchema, options);
+        KuduTable table = syncClient.openTable(tableName);
+        assertEquals(i, table.getNumReplicas());
+      }
+    }
+  }
 }