[kudu-CR] [doc] add a note about KUDU-3217 into known issues

2020-12-21 Thread Alexey Serbin (Code Review)
Alexey Serbin has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/16889 )

Change subject: [doc] add a note about KUDU-3217 into known issues
..

[doc] add a note about KUDU-3217 into known issues

Change-Id: I2a8fe02e337d62539d30ae4f22377e150b344392
Reviewed-on: http://gerrit.cloudera.org:8080/16889
Tested-by: Kudu Jenkins
Reviewed-by: Hao Hao 
---
M docs/known_issues.adoc
1 file changed, 7 insertions(+), 0 deletions(-)

Approvals:
  Kudu Jenkins: Verified
  Hao Hao: Looks good to me, approved

--
To view, visit http://gerrit.cloudera.org:8080/16889
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I2a8fe02e337d62539d30ae4f22377e150b344392
Gerrit-Change-Number: 16889
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Greg Solovyev 
Gerrit-Reviewer: Hao Hao 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Liliana Kadar 


[kudu-CR] [master] Range specific hashing at table creation time.

2020-12-21 Thread Andrew Wong (Code Review)
Andrew Wong has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16859 )

Change subject: [master] Range specific hashing at table creation time.
..


Patch Set 7:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/16859/7/src/kudu/master/catalog_manager.cc
File src/kudu/master/catalog_manager.cc:

http://gerrit.cloudera.org:8080/#/c/16859/7/src/kudu/master/catalog_manager.cc@1722
PS7, Line 1722:   for (int i = 0; i < req.range_hash_schemas_size(); i++) {
  : PartitionSchema::HashBucketSchemas hash_bucket_schemas;
  : RETURN_NOT_OK(
  : PartitionSchema::ExtractHashBucketSchemasFromPB(schema,
  : 
req.range_hash_schemas(i).hash_schemas(),
  : 
&hash_bucket_schemas));
  : 
range_hash_schemas.emplace_back(std::move(hash_bucket_schemas));
  :   }
Since the full functionality isn't complete, and since can lead to weird 
behavior until the feature is complete, let's guard this by an unsafe gflag, 
like FLAGS_enable_per_range_hash_schemas or somesuch. It'd be pretty bad if a 
newer client tried to send a request that led to unusable metadata.



--
To view, visit http://gerrit.cloudera.org:8080/16859
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I8f0dcbc3324f8f2d6e99b4d169fdf5c7f7dff95d
Gerrit-Change-Number: 16859
Gerrit-PatchSet: 7
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Bankim Bhavsar 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Comment-Date: Mon, 21 Dec 2020 19:38:42 +
Gerrit-HasComments: Yes


[kudu-CR] (wip) KUDU-2612: restrict TxnStatusManager calls to be made by the leader only

2020-12-21 Thread Hao Hao (Code Review)
Hello Tidy Bot, Alexey Serbin, Kudu Jenkins, Andrew Wong,

I'd like you to reexamine a change. Please visit

http://gerrit.cloudera.org:8080/16648

to look at the new patch set (#2).

Change subject: (wip) KUDU-2612: restrict TxnStatusManager calls to be made by 
the leader only
..

(wip) KUDU-2612: restrict TxnStatusManager calls to be made by the leader only

Currently, even though a non-leader TxnStatusManager will be unable to
write to the underlying table (in the Raft subsystem the write would be
aborted), we may want to restrict calls to be made by the leader
TxnStatusManagers only. The motivation is to provide a more robust system,
which avoids cases when the request was sent to a laggy follower, we may
end up failing the request with an error.

This patch introduces ScopedLeaderSharedLock (similar to the one in Catalog
Manager) to be used to ensure the requests were sent to leaders only and
to block all other operations while reloading the persistent transaction
status metadata upon leadership changes. Note that during failover the
leader replica will wait until in-flight ops in the previous consensus
term to be applied before reloading the metadata.

wip: fix the flaky tests.

Change-Id: I42c1ad095dcb4bdffcbe0ecf9631a60bac208c2a
---
M src/kudu/integration-tests/txn_status_manager-itest.cc
M src/kudu/integration-tests/txn_status_table-itest.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/txn_manager-test.cc
M src/kudu/tablet/tablet_replica-test-base.cc
M src/kudu/tablet/tablet_replica.cc
M src/kudu/tablet/tablet_replica.h
M src/kudu/tablet/txn_coordinator.h
M src/kudu/transactions/txn_status_manager-test.cc
M src/kudu/transactions/txn_status_manager.cc
M src/kudu/transactions/txn_status_manager.h
M src/kudu/transactions/txn_status_tablet.h
M src/kudu/tserver/tablet_copy_source_session-test.cc
M src/kudu/tserver/tablet_service.cc
M src/kudu/tserver/ts_tablet_manager.cc
M src/kudu/tserver/ts_tablet_manager.h
16 files changed, 617 insertions(+), 145 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/48/16648/2
--
To view, visit http://gerrit.cloudera.org:8080/16648
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I42c1ad095dcb4bdffcbe0ecf9631a60bac208c2a
Gerrit-Change-Number: 16648
Gerrit-PatchSet: 2
Gerrit-Owner: Hao Hao 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Hao Hao 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)


[kudu-CR] [master] Range specific hashing at table creation time.

2020-12-21 Thread Mahesh Reddy (Code Review)
Hello Kudu Jenkins, Andrew Wong, Bankim Bhavsar,

I'd like you to reexamine a change. Please visit

http://gerrit.cloudera.org:8080/16859

to look at the new patch set (#8).

Change subject: [master] Range specific hashing at table creation time.
..

[master] Range specific hashing at table creation time.

This patch updates CreateTableRequestPB to allow different
hash schemas to be defined per range at table creation time.
This new field is appropriately decoded in catalog_manager.cc.

While this patch handles the logic for creating the correct
partitions, it does not update the metadata for either the
table or tablets. The new per-range schemas will need to be
added to the table metadata in a following patch.

The changes to kudu/common include some refactoring and
putting functions back into an anonymous namespace.

Change-Id: I8f0dcbc3324f8f2d6e99b4d169fdf5c7f7dff95d
---
M src/kudu/common/partition-test.cc
M src/kudu/common/partition.cc
M src/kudu/common/partition.h
M src/kudu/integration-tests/table_locations-itest.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
7 files changed, 459 insertions(+), 43 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/59/16859/8
--
To view, visit http://gerrit.cloudera.org:8080/16859
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I8f0dcbc3324f8f2d6e99b4d169fdf5c7f7dff95d
Gerrit-Change-Number: 16859
Gerrit-PatchSet: 8
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Bankim Bhavsar 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 


[kudu-CR] [master] Range specific hashing at table creation time.

2020-12-21 Thread Mahesh Reddy (Code Review)
Mahesh Reddy has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16859 )

Change subject: [master] Range specific hashing at table creation time.
..


Patch Set 8:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/16859/7/src/kudu/master/catalog_manager.cc
File src/kudu/master/catalog_manager.cc:

http://gerrit.cloudera.org:8080/#/c/16859/7/src/kudu/master/catalog_manager.cc@1722
PS7, Line 1722: }
  :   }
  :
  :   PartitionSchema::RangeHashSchema range_hash_schemas;
  :   if (FLAGS_enable_per_range_hash_schemas) {
  : for (int i = 0; i < req.range_hash_schemas_size(); i++) {
  :   PartitionSchema::HashBucketSchemas hash_bucket_schemas;
  :
> Since the full functionality isn't complete, and since can lead to weird be
Done



--
To view, visit http://gerrit.cloudera.org:8080/16859
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I8f0dcbc3324f8f2d6e99b4d169fdf5c7f7dff95d
Gerrit-Change-Number: 16859
Gerrit-PatchSet: 8
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Bankim Bhavsar 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Comment-Date: Mon, 21 Dec 2020 20:39:10 +
Gerrit-HasComments: Yes


[kudu-CR] [master] KUDU-2671: Range specific hashing at table creation time.

2020-12-21 Thread Mahesh Reddy (Code Review)
Hello Kudu Jenkins, Andrew Wong, Bankim Bhavsar,

I'd like you to reexamine a change. Please visit

http://gerrit.cloudera.org:8080/16859

to look at the new patch set (#9).

Change subject: [master] KUDU-2671: Range specific hashing at table creation 
time.
..

[master] KUDU-2671: Range specific hashing at table creation time.

This patch updates CreateTableRequestPB to allow different
hash schemas to be defined per range at table creation time.
This new field is appropriately decoded in catalog_manager.cc.

While this patch handles the logic for creating the correct
partitions, it does not update the metadata for either the
table or tablets. The new per-range schemas will need to be
added to the table metadata in a following patch.

The changes to kudu/common include some refactoring and
putting functions back into an anonymous namespace.

Change-Id: I8f0dcbc3324f8f2d6e99b4d169fdf5c7f7dff95d
---
M src/kudu/common/partition-test.cc
M src/kudu/common/partition.cc
M src/kudu/common/partition.h
M src/kudu/integration-tests/table_locations-itest.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
7 files changed, 459 insertions(+), 43 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/59/16859/9
--
To view, visit http://gerrit.cloudera.org:8080/16859
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I8f0dcbc3324f8f2d6e99b4d169fdf5c7f7dff95d
Gerrit-Change-Number: 16859
Gerrit-PatchSet: 9
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Bankim Bhavsar 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 


[kudu-CR] [master] KUDU-2671: Range specific hashing at table creation time.

2020-12-21 Thread Andrew Wong (Code Review)
Andrew Wong has removed a vote on this change.

Change subject: [master] KUDU-2671: Range specific hashing at table creation 
time.
..


Removed Verified-1 by Kudu Jenkins (120)
--
To view, visit http://gerrit.cloudera.org:8080/16859
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: I8f0dcbc3324f8f2d6e99b4d169fdf5c7f7dff95d
Gerrit-Change-Number: 16859
Gerrit-PatchSet: 9
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Bankim Bhavsar 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 


[kudu-CR] [master] KUDU-2671: Range specific hashing at table creation time.

2020-12-21 Thread Andrew Wong (Code Review)
Andrew Wong has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16859 )

Change subject: [master] KUDU-2671: Range specific hashing at table creation 
time.
..


Patch Set 9: Verified+1 Code-Review+2

The failed test are known flaky tests. Will let this sit a bit in case others 
want to do another pass.


--
To view, visit http://gerrit.cloudera.org:8080/16859
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I8f0dcbc3324f8f2d6e99b4d169fdf5c7f7dff95d
Gerrit-Change-Number: 16859
Gerrit-PatchSet: 9
Gerrit-Owner: Mahesh Reddy 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Bankim Bhavsar 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Comment-Date: Tue, 22 Dec 2020 00:20:56 +
Gerrit-HasComments: No


[kudu-CR] WIP KUDU-2612 Java client transaction API

2020-12-21 Thread Alexey Serbin (Code Review)
Alexey Serbin has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/16894


Change subject: WIP KUDU-2612 Java client transaction API
..

WIP KUDU-2612 Java client transaction API

This is a raw WIP patch which at this point is more focused on the
API than the actual functionality under the hood.  The actual
functionality to do the heavy-lifting (i.e. issuing RPC calls to
TxnManager, retrying in case of transient errors, etc.) is not yet here,
but I'm working on it.

The proposed API is mirroring the API for the C++ client with a few
twists because of the presence of the async-style objects in the
Kudu Java client API.

WIP:
  * get initial feedback on the proposed API: the semantics, signatures
of the methods, supportability, extensibility, etc.
  * add actual functionality for the under-the-hood work
  * add more tests
  * change the commit description

DONT_BUILD

Change-Id: Idbb18e1ac0454a8ef9e3486430dfaa336e381e07
---
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
A java/kudu-client/src/main/java/org/apache/kudu/client/KuduTransaction.java
A 
java/kudu-client/src/main/java/org/apache/kudu/client/KuduTransactionSerializer.java
A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduTransaction.java
6 files changed, 549 insertions(+), 5 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/94/16894/1
--
To view, visit http://gerrit.cloudera.org:8080/16894
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Idbb18e1ac0454a8ef9e3486430dfaa336e381e07
Gerrit-Change-Number: 16894
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin