[kudu-CR] KUDU-3371 [fs] Use RocksDB to store LBM metadata

2023-12-23 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/18569 )

Change subject: KUDU-3371 [fs] Use RocksDB to store LBM metadata
..


Patch Set 61:

(6 comments)

http://gerrit.cloudera.org:8080/#/c/18569/61//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/18569/61//COMMIT_MSG@50
PS61, Line 50: contructed
nit: constructed


http://gerrit.cloudera.org:8080/#/c/18569/61//COMMIT_MSG@52
PS61, Line 52: Contruct
nit: Construct


http://gerrit.cloudera.org:8080/#/c/18569/61//COMMIT_MSG@56
PS61, Line 56: logr
"logr" a little short  and not clear.  use 'rocksdb' directly?


http://gerrit.cloudera.org:8080/#/c/18569/61/src/kudu/fs/fs_report.h
File src/kudu/fs/fs_report.h:

http://gerrit.cloudera.org:8080/#/c/18569/61/src/kudu/fs/fs_report.h@291
PS61, Line 291: corrupted_rdb_record_check
This field seems no used. So add a TODO?


http://gerrit.cloudera.org:8080/#/c/18569/61/src/kudu/fs/log_block_manager.cc
File src/kudu/fs/log_block_manager.cc:

http://gerrit.cloudera.org:8080/#/c/18569/61/src/kudu/fs/log_block_manager.cc@2093
PS61, Line 2093: tmp_key = Substitute("$0.$1", id_, 
lb->block_id().ToString());
this statement happens several times in this file, may be a simple function to 
construct this key is better.


http://gerrit.cloudera.org:8080/#/c/18569/61/src/kudu/fs/log_block_manager.cc@4035
PS61, Line 4035: key(e.block_id);
Should this key be  id + "." + block_id ?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie72f6914eb5653a9c034766c6cd3741a8340711f
Gerrit-Change-Number: 18569
Gerrit-PatchSet: 61
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Sat, 23 Dec 2023 15:59:47 +
Gerrit-HasComments: Yes


[kudu-CR] [duplication] KUDU-3290 Support write ops to kafka with kafka client

2023-11-19 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19909 )

Change subject: [duplication] KUDU-3290 Support write ops to kafka with kafka 
client
..


Patch Set 8:

> Patch Set 8:
>
> (1 comment)
Hello Alexey.

I am very glad receive your feedback.

In my docuement: "In fact, kudu duplication implements a cdc(capture data 
changes) at kudu. CDC is a common requirement."

"destination system
It’s the destination for records of Kudu duplication. It can be a local kudu 
engine, remote kudu cluster, kafka and other storage systems. In this document, 
it refers to Kafka."

I think, this whole patch (https://gerrit.cloudera.org/c/20151) has included 
what Mr Greber want to do except I first implement cdc to kafka using a kafka 
lib while Mr Greber what to use kudu client lib. It has included my design.

Maybe some details and ideas may be difference, we can communicate with each 
other more carefully.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
Gerrit-Change-Number: 19909
Gerrit-PatchSet: 8
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Mon, 20 Nov 2023 01:44:17 +
Gerrit-HasComments: No


[kudu-CR] KUDU-3371 [fs] make LBMCorruptor a base class

2023-10-13 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20504 )

Change subject: KUDU-3371 [fs] make LBMCorruptor a base class
..


Patch Set 5: Code-Review+1

LGTM


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I5a1f2842598f46e88fbd08273d8fd19ed34a9cc5
Gerrit-Change-Number: 20504
Gerrit-PatchSet: 5
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Fri, 13 Oct 2023 08:48:02 +
Gerrit-HasComments: No


[kudu-CR] KUDU-3371 [fs] make LBMCorruptor a base class

2023-10-12 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20504 )

Change subject: KUDU-3371 [fs] make LBMCorruptor a base class
..


Patch Set 3: Verified+1

(1 comment)

http://gerrit.cloudera.org:8080/#/c/20504/3/src/kudu/fs/log_block_manager-test-util.h
File src/kudu/fs/log_block_manager-test-util.h:

http://gerrit.cloudera.org:8080/#/c/20504/3/src/kudu/fs/log_block_manager-test-util.h@155
PS3, Line 155:   // 'error_type' is in the following types of errors:
 :   // 0. No block offset.
 :   // 1. No block length.
 :   // 2. Negative block offset.
 :   // 3. Negative block length.
 :   // 4. Offset + length > data file size.
 :   // 5. Unrecognized op type.
What about consider uniting them into an enum structure ?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I5a1f2842598f46e88fbd08273d8fd19ed34a9cc5
Gerrit-Change-Number: 20504
Gerrit-PatchSet: 3
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Thu, 12 Oct 2023 10:22:15 +
Gerrit-HasComments: Yes


[kudu-CR] [duplication] KUDU-3290 Support write ops to kafka with kafka client

2023-08-02 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Alexey Serbin, Ashwani Raina, Yingchun Lai, Yifan Zhang, Kudu 
Jenkins, Abhishek Chennaka, KeDeng, Wang Xixu,

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

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

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

Change subject: [duplication] KUDU-3290 Support write ops to kafka with kafka 
client
..

[duplication] KUDU-3290 Support write ops to kafka with kafka client

Kudu duplication is a large patch, design document shown at
https://docs.google.com/document/d/1ihqPFO1vulpYDYYKcHmhes0LCOXKQtdAf5ub0y2LiaM/edit?usp=sharing.

This patch is the first patch for duplication, it includes:
1. adding 2 thirdparty libraries: cppkafka, librdkafka.
librdkfka supports c language apis to operate kafka, and
cppkafka is a C++ wrapper for librdkakfa, its an api sugger.
2. write records to kafka by librdkafka/cppkafka.

I will commit about 9 patches for duplication.
1. Support write ops to kafka with kafka client
2. Add a new raft role DUPLICATOR and raft processing
3. registe kafka uri and validate and unregiste
4. recovering duplication when a leader switches
5. creating/altering in server-side for duplication
6. cpp client apis and CLI tool
7. java client apis
8. suppports kerberos
9. alter a duplication

The whole patch is like this: https://gerrit.cloudera.org/c/20151.
This patch is to help reviewers a overview about the duplication feature.

[1] 
https://docs.google.com/document/d/1ihqPFO1vulpYDYYKcHmhes0LCOXKQtdAf5ub0y2LiaM/edit?usp=sharing.
[2] https://issues.apache.org/jira/browse/KUDU-3290.

Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M java/config/spotbugs/excludeFilter.xml
M java/kudu-proto/build.gradle
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/metadata.proto
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/integration-tests/single_broker_kafka.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/tablet/ops/write_op.h
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/vars.sh
26 files changed, 2,216 insertions(+), 3 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
Gerrit-Change-Number: 19909
Gerrit-PatchSet: 8
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [common] minor optimization on ComputeHashBuckets

2023-08-01 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20288 )

Change subject: [common] minor optimization on ComputeHashBuckets
..


Patch Set 1: Code-Review+1

(1 comment)

http://gerrit.cloudera.org:8080/#/c/20288/1/src/kudu/common/partition_pruner.cc
File src/kudu/common/partition_pruner.cc:

http://gerrit.cloudera.org:8080/#/c/20288/1/src/kudu/common/partition_pruner.cc@225
PS1, Line 225: if (std::all_of(hash_bucket_bitset->begin(),
 :   hash_bucket_bitset->end(),
 :   [](bool b) { return b; })) {
 : return;
 :   }
> Is it equal to the below? std::any_of will early return if find a false val
Both are right.

It seems no obvious distinction in algorithm implements for 'all_of' and 
'any_of'.

https://github.com/llvm-mirror/libcxx/blob/a12cb9d211019d99b5875b6d8034617cbc24c2cc/include/algorithm#L838



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Iecd9a739f408646c0dab74727f919e4f6ce3ce7e
Gerrit-Change-Number: 20288
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy 
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Tue, 01 Aug 2023 07:51:48 +
Gerrit-HasComments: Yes


[kudu-CR] [duplication] KUDU-3290 Support write ops to kafka with kafka client

2023-08-01 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: [duplication] KUDU-3290 Support write ops to kafka with kafka 
client
..

[duplication] KUDU-3290 Support write ops to kafka with kafka client

Kudu duplication is a large patch, design document shown at
https://docs.google.com/document/d/1ihqPFO1vulpYDYYKcHmhes0LCOXKQtdAf5ub0y2LiaM/edit?usp=sharing.

This patch is the first patch for duplication, it includes:
1. adding 2 thirdparty libraries: cppkafka, librdkafka.
librdkfka supports c language apis to operate kafka, and
cppkafka is a C++ wrapper for librdkakfa, its an api sugger.
2. write records to kafka by librdkafka/cppkafka.

I will commit about 9 patches for duplication.
1. Support write ops to kafka with kafka client
2. Add a new raft role DUPLICATOR and raft processing
3. registe kafka uri and validate and unregiste
4. recovering duplication when a leader switches
5. creating/altering in server-side for duplication
6. cpp client apis and CLI tool
7. java client apis
8. suppports kerberos
9. alter a duplication

The whole patch is like this: https://gerrit.cloudera.org/c/20151.
This patch is to help reviewers a overview about the duplication feature.

[1] 
https://docs.google.com/document/d/1ihqPFO1vulpYDYYKcHmhes0LCOXKQtdAf5ub0y2LiaM/edit?usp=sharing.
[2] https://issues.apache.org/jira/browse/KUDU-3290.

Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M java/config/spotbugs/excludeFilter.xml
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/metadata.proto
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/integration-tests/single_broker_kafka.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/tablet/ops/write_op.h
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/vars.sh
25 files changed, 2,215 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/09/19909/7
--
To view, visit http://gerrit.cloudera.org:8080/19909
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
Gerrit-Change-Number: 19909
Gerrit-PatchSet: 7
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [duplication] KUDU-3290 Support write ops to kafka with kafka client

2023-07-31 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: [duplication] KUDU-3290 Support write ops to kafka with kafka 
client
..

[duplication] KUDU-3290 Support write ops to kafka with kafka client

Kudu duplication is a large patch, design document shown at
https://docs.google.com/document/d/1ihqPFO1vulpYDYYKcHmhes0LCOXKQtdAf5ub0y2LiaM/edit?usp=sharing.

This patch is the first patch for duplication, it includes:
1. adding 2 thirdparty libraries: cppkafka, librdkafka.
librdkfka supports c language apis to operate kafka, and
cppkafka is a C++ wrapper for librdkakfa, its an api sugger.
2. write records to kafka by librdkafka/cppkafka.

I will commit about 9 patches for duplication.
1. Support write ops to kafka with kafka client
2. Add a new raft role DUPLICATOR and raft processing
3. registe kafka uri and validate and unregiste
4. recovering duplication when a leader switches
5. creating/altering in server-side for duplication
6. cpp client apis and CLI tool
7. java client apis
8. suppports kerberos
9. alter a duplication

The whole patch is like this: https://gerrit.cloudera.org/c/20151.
This patch is to help reviewers a overview about the duplication feature.

[1] 
https://docs.google.com/document/d/1ihqPFO1vulpYDYYKcHmhes0LCOXKQtdAf5ub0y2LiaM/edit?usp=sharing.
[2] https://issues.apache.org/jira/browse/KUDU-3290.

Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/metadata.proto
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/integration-tests/single_broker_kafka.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet.h
M src/kudu/tablet/tablet_replica.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/vars.sh
28 files changed, 2,241 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/09/19909/6
--
To view, visit http://gerrit.cloudera.org:8080/19909
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
Gerrit-Change-Number: 19909
Gerrit-PatchSet: 6
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [duplication] KUDU-3290 Support write ops to kafka with kafka client

2023-07-31 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: [duplication] KUDU-3290 Support write ops to kafka with kafka 
client
..

[duplication] KUDU-3290 Support write ops to kafka with kafka client

Kudu duplication is a large patch, design document shown at
https://docs.google.com/document/d/1ihqPFO1vulpYDYYKcHmhes0LCOXKQtdAf5ub0y2LiaM/edit?usp=sharing.

This patch is the first patch for duplication, it includes:
1. adding 2 thirdparty libraries: cppkafka, librdkafka.
librdkfka supports c language apis to operate kafka, and
cppkafka is a C++ wrapper for librdkakfa, its an api sugger.
2. write records to kafka by librdkafka/cppkafka.

I will commit about 9 patches for duplication.
1. Support write ops to kafka with kafka client
2. Add a new raft role DUPLICATOR and raft processing
3. registe kafka uri and validate and unregiste
4. recovering duplication when a leader switches
5. creating/altering in server-side for duplication
6. cpp client apis and CLI tool
7. java client apis
8. suppports kerberos
9. alter a duplication

I have provided an united patch https://gerrit.cloudera.org/c/20151.
Its purpose is to help reviewers a overview about this function.

Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/metadata.proto
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/integration-tests/single_broker_kafka.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet.h
M src/kudu/tablet/tablet_replica.cc
M src/kudu/tablet/tablet_replica.h
M src/kudu/tserver/tablet_server.cc
M src/kudu/tserver/tablet_server.h
M src/kudu/tserver/ts_tablet_manager.cc
M src/kudu/tserver/ts_tablet_manager.h
M src/kudu/util/blocking_queue.h
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/vars.sh
35 files changed, 2,793 insertions(+), 22 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/09/19909/5
--
To view, visit http://gerrit.cloudera.org:8080/19909
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
Gerrit-Change-Number: 19909
Gerrit-PatchSet: 5
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [duplication] KUDU-3290 Support write ops to kafka with kafka client

2023-07-31 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19909 )

Change subject: [duplication] KUDU-3290 Support write ops to kafka with kafka 
client
..


Patch Set 5:

(5 comments)

http://gerrit.cloudera.org:8080/#/c/19909/3/src/kudu/integration-tests/single_broker_kafka.h
File src/kudu/integration-tests/single_broker_kafka.h:

http://gerrit.cloudera.org:8080/#/c/19909/3/src/kudu/integration-tests/single_broker_kafka.h@39
PS3, Line 39:   static const int kZookeeperSessionTimeoutS = 10;
> warning: method 'InitKafka' can be made const [readability-make-member-func
Done


http://gerrit.cloudera.org:8080/#/c/19909/3/src/kudu/integration-tests/single_broker_kafka.h@48
PS3, Line 48:
> warning: method 'StartKafka' can be made const [readability-make-member-fun
Done


http://gerrit.cloudera.org:8080/#/c/19909/3/src/kudu/integration-tests/single_broker_kafka.h@57
PS3, Line 57: string command = Substitute("$0 start $1", command_, 
offset_port_);
> warning: method 'StopKafka' can be made const [readability-make-member-func
Done


http://gerrit.cloudera.org:8080/#/c/19909/3/src/kudu/integration-tests/single_broker_kafka.h@66
PS3, Line 66:   }
> warning: method 'DestroyKafka' can be made const [readability-make-member-f
Done


http://gerrit.cloudera.org:8080/#/c/19909/3/src/kudu/tablet/tablet_replica.cc
File src/kudu/tablet/tablet_replica.cc:

http://gerrit.cloudera.org:8080/#/c/19909/3/src/kudu/tablet/tablet_replica.cc@199
PS3, Line 199:
> error: constructor for 'kudu::tablet::TabletReplica' must explicitly initia
Done



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
Gerrit-Change-Number: 19909
Gerrit-PatchSet: 5
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Mon, 31 Jul 2023 13:32:37 +
Gerrit-HasComments: Yes


[kudu-CR] [duplication] KUDU-3290 Support write ops to kafka with kafka client

2023-07-31 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: [duplication] KUDU-3290 Support write ops to kafka with kafka 
client
..

[duplication] KUDU-3290 Support write ops to kafka with kafka client

Kudu duplication is a large patch, design document shown at
https://docs.google.com/document/d/1ihqPFO1vulpYDYYKcHmhes0LCOXKQtdAf5ub0y2LiaM/edit?usp=sharing.

This patch is the first patch for duplication, it includes:
1. adding 2 thirdparty libraries: cppkafka, librdkafka.
librdkfka supports c language apis to operate kafka, and
cppkafka is a C++ wrapper for librdkakfa, its an api sugger.
2. write records to kafka by librdkafka/cppkafka.

I will commit about 9 patches for duplication.
1. Support write ops to kafka with kafka client
2. Add a new raft role DUPLICATOR and raft processing
3. registe kafka uri and validate and unregiste
4. recovering duplication when a leader switches
5. creating/altering in server-side for duplication
6. cpp client apis and CLI tool
7. java client apis
8. suppports kerberos
9. alter a duplication

I have provided an united patch https://gerrit.cloudera.org/c/20151.
Its purpose is to help reviewers a overview about this function.

Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/metadata.proto
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/integration-tests/single_broker_kafka.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet.h
M src/kudu/tablet/tablet_replica.cc
M src/kudu/tablet/tablet_replica.h
M src/kudu/tserver/tablet_server.cc
M src/kudu/tserver/tablet_server.h
M src/kudu/tserver/ts_tablet_manager.cc
M src/kudu/tserver/ts_tablet_manager.h
M src/kudu/util/blocking_queue.h
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/vars.sh
35 files changed, 2,812 insertions(+), 22 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/09/19909/4
--
To view, visit http://gerrit.cloudera.org:8080/19909
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
Gerrit-Change-Number: 19909
Gerrit-PatchSet: 4
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-31 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20151 )

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..


Patch Set 16: Code-Review-2

Make it not push to remote repo.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
Gerrit-Change-Number: 20151
Gerrit-PatchSet: 16
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Mon, 31 Jul 2023 07:49:17 +
Gerrit-HasComments: No


[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-28 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20151 )

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..


Patch Set 16:

> Patch Set 14:
>
> I'm not sure it make sense to pile like patches like this if you want them to 
> be reviewed in eventually pushed into the repo.
>
> It's hard to review and revv these.
>
> Please prefer to maintain a stack of patches, each being logically separated 
> and doing a well-defined part of the overall task.
>
> Also, have you addressed the feedback on the design document for this feature?
>
> Thanks!

This patch is for passed all tests and then I'll split this patch into several 
individual patches.

The document: 
https://docs.google.com/document/d/1ihqPFO1vulpYDYYKcHmhes0LCOXKQtdAf5ub0y2LiaM/edit


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
Gerrit-Change-Number: 20151
Gerrit-PatchSet: 16
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Fri, 28 Jul 2023 09:19:22 +
Gerrit-HasComments: No


[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-28 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M java/config/spotbugs/excludeFilter.xml
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M 

[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-20 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M java/config/spotbugs/excludeFilter.xml
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M 

[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-19 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Kudu Jenkins,

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

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

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

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M java/config/spotbugs/excludeFilter.xml
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M 

[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-19 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Kudu Jenkins,

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

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

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

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M java/config/spotbugs/excludeFilter.xml
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M 

[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-19 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Kudu Jenkins,

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

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

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

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M java/config/spotbugs/excludeFilter.xml
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M 

[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-18 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Kudu Jenkins,

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

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

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

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M java/config/spotbugs/excludeFilter.xml
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M 

[kudu-CR] remove the supportng of EOL macOS 10.x

2023-07-13 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20185 )

Change subject: remove the supportng of EOL macOS 10.x
..


Patch Set 1:

(1 comment)

Basically, I check the output binaries(using mac os 12.4), it's ok.
I'll try to compile it and run it.

http://gerrit.cloudera.org:8080/#/c/20185/1//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/20185/1//COMMIT_MSG@7
PS1, Line 7: supportng
nit: supporting



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ifd0658eef8ee8b275e50d49f504c23de9615a5d7
Gerrit-Change-Number: 20185
Gerrit-PatchSet: 1
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber 
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Thu, 13 Jul 2023 15:36:17 +
Gerrit-HasComments: Yes


[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-06 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Kudu Jenkins,

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

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

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

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M java/config/spotbugs/excludeFilter.xml
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M 

[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-06 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Kudu Jenkins,

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

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

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

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M java/config/spotbugs/excludeFilter.xml
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M 

[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-06 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Kudu Jenkins,

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

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

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

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M java/config/spotbugs/excludeFilter.xml
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M 

[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-05 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20151 )

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..


Patch Set 7:

(3 comments)

http://gerrit.cloudera.org:8080/#/c/20151/4/src/kudu/rebalance/cluster_status.h
File src/kudu/rebalance/cluster_status.h:

http://gerrit.cloudera.org:8080/#/c/20151/4/src/kudu/rebalance/cluster_status.h@76
PS4, Line 76:  std::optional opid_index,
> warning: pass by value and use std::move [modernize-pass-by-value]
Done


http://gerrit.cloudera.org:8080/#/c/20151/4/src/kudu/rebalance/cluster_status.h@83
PS4, Line 83: opid_index(std::move(opid_index)),
> warning: parameter 'opid_index' is passed by value and only copied once; co
Done


http://gerrit.cloudera.org:8080/#/c/20151/4/src/kudu/tablet/tablet_bootstrap.cc
File src/kudu/tablet/tablet_bootstrap.cc:

http://gerrit.cloudera.org:8080/#/c/20151/4/src/kudu/tablet/tablet_bootstrap.cc@1404
PS4, Line 1404: *all_skipped &= action != NEEDS_REPLAY;
> warning: The left operand of '!=' is a garbage value [clang-analyzer-core.U
Done



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
Gerrit-Change-Number: 20151
Gerrit-PatchSet: 7
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Thu, 06 Jul 2023 03:59:40 +
Gerrit-HasComments: Yes


[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-05 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Kudu Jenkins,

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

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

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

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M java/config/spotbugs/excludeFilter.xml
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M 

[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-05 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Kudu Jenkins,

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

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

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

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M java/config/spotbugs/excludeFilter.xml
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M 

[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-05 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Kudu Jenkins,

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

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

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

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M java/config/spotbugs/excludeFilter.xml
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M 

[kudu-CR](gh-pages) [web-site] Add a new PMC member

2023-07-05 Thread Yuqi Du (Code Review)
Hello Yingchun Lai,

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

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

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

Change subject: [web-site] Add a new PMC member
..

[web-site] Add a new PMC member

Change-Id: I07f0f90ece010f2a3bbe2746b1ea78cfe58817c3
---
M committers.md
1 file changed, 1 insertion(+), 0 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: gh-pages
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I07f0f90ece010f2a3bbe2746b1ea78cfe58817c3
Gerrit-Change-Number: 20159
Gerrit-PatchSet: 2
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Yingchun Lai 


[kudu-CR](gh-pages) [web-site] Add a new PMC member

2023-07-04 Thread Yuqi Du (Code Review)
Yuqi Du has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/20159


Change subject: [web-site] Add a new PMC member
..

[web-site] Add a new PMC member

Change-Id: I07f0f90ece010f2a3bbe2746b1ea78cfe58817c3
---
M committers.md
1 file changed, 1 insertion(+), 0 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: gh-pages
Gerrit-MessageType: newchange
Gerrit-Change-Id: I07f0f90ece010f2a3bbe2746b1ea78cfe58817c3
Gerrit-Change-Number: 20159
Gerrit-PatchSet: 1
Gerrit-Owner: Yuqi Du 


[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-04 Thread Yuqi Du (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M src/kudu/tablet/tablet.h
M src/kudu/tablet/tablet_bootstrap.cc
M 

[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-04 Thread Yuqi Du (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M src/kudu/tablet/tablet.h
M src/kudu/tablet/tablet_bootstrap.cc
M 

[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-03 Thread Yuqi Du (Code Review)
Hello Kudu Jenkins,

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

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

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

Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M src/kudu/tablet/tablet.h
M src/kudu/tablet/tablet_bootstrap.cc
M 

[kudu-CR] WIP KUDU-3290 support duplication to kafka

2023-07-03 Thread Yuqi Du (Code Review)
Yuqi Du has abandoned this change. ( http://gerrit.cloudera.org:8080/18350 )

Change subject: WIP KUDU-3290 support duplication to kafka
..


Abandoned

I abandon it. New patch is https://gerrit.cloudera.org/c/20151/
--
To view, visit http://gerrit.cloudera.org:8080/18350
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: abandon
Gerrit-Change-Id: I842476216f09150383d06c7a6f4c53bf7f2ec018
Gerrit-Change-Number: 18350
Gerrit-PatchSet: 12
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

2023-07-03 Thread Yuqi Du (Code Review)
Yuqi Du has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/20151


Change subject: WIP [duplication] KUDU-3290 Unite all patches as one to prepare 
these patches
..

WIP [duplication] KUDU-3290 Unite all patches as one to prepare these patches

This patch is for duplication, it includes all about duplication. The purpose
of this patch is do some preparing works for duplication. Some refactors need
to do such as tests.

This patch is a little too many codes, so I plan to split this patch into
10 patches. They are:

1. Adding 'Duplicator' which will write records to kafka,
  adding extra 2 thirdparty libraries: cppkafka, librdkafka.
  librdkfka supports c language apis to operate kafka, and
  cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

2. Add a new raft role DUPLICATOR and raft processing
3. recovering duplication when a leader switches
4. creating/altering in server-side for duplication
5. cpp client apis and CLI tool
6. java client apis
7. suppports kerberos
8. alter a duplication
9. registe kafka uri and validate and unregiste

During this progressing, plans maybe adjust according to advices.

Change-Id: I2ec587821f41eef75078152d7912c11456906ecf
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
A java/kudu-client/src/main/java/org/apache/kudu/DuplicationDownstreamType.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/CreateTableOptions.java
M java/kudu-client/src/main/java/org/apache/kudu/client/KuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesRequest.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTablesResponse.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ListTabletsResponse.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduClient.java
M java/kudu-proto/build.gradle
M src/kudu/client/client-internal.cc
M src/kudu/client/client-internal.h
M src/kudu/client/client.cc
M src/kudu/client/client.h
M src/kudu/client/replica-internal.cc
M src/kudu/client/replica-internal.h
M src/kudu/client/replica_controller-internal.cc
M src/kudu/client/replica_controller-internal.h
M src/kudu/client/scan_token-internal.cc
M src/kudu/client/table_alterer-internal.cc
M src/kudu/client/table_alterer-internal.h
M src/kudu/client/table_creator-internal.h
M src/kudu/common/common.proto
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/consensus_meta.cc
M src/kudu/consensus/consensus_meta.h
M src/kudu/consensus/consensus_meta_manager.cc
M src/kudu/consensus/consensus_meta_manager.h
M src/kudu/consensus/consensus_queue.cc
M src/kudu/consensus/metadata.proto
M src/kudu/consensus/peer_manager.cc
M src/kudu/consensus/quorum_util-test.cc
M src/kudu/consensus/quorum_util.cc
M src/kudu/consensus/quorum_util.h
M src/kudu/consensus/raft_consensus.cc
M src/kudu/consensus/raft_consensus.h
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplication_replay-test.cc
A src/kudu/duplicator/duplication_replay.cc
A src/kudu/duplicator/duplication_replay.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/duplicator/log_segment_reader.cc
A src/kudu/duplicator/log_segment_reader.h
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/duplication_with_fuzzy_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kafka-itest.cc
A src/kudu/integration-tests/duplication_with_kerberos_kafka-itest.cc
M src/kudu/integration-tests/fuzz-itest.cc
A src/kudu/integration-tests/single_broker_kafka.h
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
M src/kudu/master/master_service.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/master/ts_manager.h
M src/kudu/rebalance/cluster_status.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/subprocess/subprocess_server-test.cc
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/diskrowset-test.cc
A src/kudu/tablet/ops/duplication_op.cc
A src/kudu/tablet/ops/duplication_op.h
M src/kudu/tablet/ops/op.h
M src/kudu/tablet/ops/op_driver.cc
M src/kudu/tablet/ops/op_tracker-test.cc
M src/kudu/tablet/ops/op_tracker.cc
M src/kudu/tablet/ops/write_op.cc
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet-harness.h
M src/kudu/tablet/tablet.cc
M src/kudu/tablet/tablet.h
M 

[kudu-CR](branch-1.17.x) Bump versions in examples to 1.17.0

2023-07-03 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20140 )

Change subject: Bump versions in examples to 1.17.0
..


Patch Set 1: Code-Review+1

(1 comment)

http://gerrit.cloudera.org:8080/#/c/20140/1/examples/java/collectl/README.adoc
File examples/java/collectl/README.adoc:

http://gerrit.cloudera.org:8080/#/c/20140/1/examples/java/collectl/README.adoc@90
PS1, Line 90: spark2_2.11
> in java/gradle/dependencies.gradle:
Yes . I have no questions.



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

Gerrit-Project: kudu
Gerrit-Branch: branch-1.17.x
Gerrit-MessageType: comment
Gerrit-Change-Id: Icf4b023c19de278c52f931574af6029de8de57ec
Gerrit-Change-Number: 20140
Gerrit-PatchSet: 1
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Mon, 03 Jul 2023 07:42:58 +
Gerrit-HasComments: Yes


[kudu-CR](branch-1.17.x) Bump versions in examples to 1.17.0

2023-07-03 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20140 )

Change subject: Bump versions in examples to 1.17.0
..


Patch Set 1:

(1 comment)

> Patch Set 1:
>
> (1 comment)

http://gerrit.cloudera.org:8080/#/c/20140/1/examples/java/collectl/README.adoc
File examples/java/collectl/README.adoc:

http://gerrit.cloudera.org:8080/#/c/20140/1/examples/java/collectl/README.adoc@90
PS1, Line 90: spark2_2.11
> in java/gradle/dependencies.gradle:
in java/gradle/dependencies.gradle:


b2039d51 (Grant Henke2020-10-12 10:08:43 -0500  56) scala211   : 
"2.11.12",
10e3cec1 (Attila Bukor   2022-01-19 08:42:55 +0100  57) scala  : 
"2.12.15",

which scala do we use ?   If we use scala211 and spark2   it is   
kudu-spark2_2.11:1.17.0.

In my default environ scala is  "2.12.15".  What  is it determined by ?



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

Gerrit-Project: kudu
Gerrit-Branch: branch-1.17.x
Gerrit-MessageType: comment
Gerrit-Change-Id: Icf4b023c19de278c52f931574af6029de8de57ec
Gerrit-Change-Number: 20140
Gerrit-PatchSet: 1
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Mon, 03 Jul 2023 07:36:15 +
Gerrit-HasComments: Yes


[kudu-CR](branch-1.17.x) Bump versions in examples to 1.17.0

2023-07-03 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20140 )

Change subject: Bump versions in examples to 1.17.0
..


Patch Set 1:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/20140/1/examples/java/collectl/README.adoc
File examples/java/collectl/README.adoc:

http://gerrit.cloudera.org:8080/#/c/20140/1/examples/java/collectl/README.adoc@90
PS1, Line 90: spark2_2.11
> Kudu supports two versions: Spark2 and Spark3.  In this example, this has t
in java/gradle/dependencies.gradle:

10e3cec1 (Attila Bukor   2022-01-19 08:42:55 +0100  57) scala  : 
"2.12.15",
10e3cec1 (Attila Bukor   2022-01-19 08:42:55 +0100  61) spark2 : 
"2.4.8",
10e3cec1 (Attila Bukor   2022-01-19 08:42:55 +0100  62) spark  : 
"3.1.2",


b2039d51 (Grant Henke2020-10-12 10:08:43 -0500  72) // If the `spark2` 
property is passed, override the `spark` and `scala` version
b2039d51 (Grant Henke2020-10-12 10:08:43 -0500  73) // to use the `spark2` 
and `scala211` versions.
b2039d51 (Grant Henke2020-10-12 10:08:43 -0500  74) if 
(propertyExists("spark2")) {
b2039d51 (Grant Henke2020-10-12 10:08:43 -0500  75)   versions["spark"] = 
"$versions.spark2"
b2039d51 (Grant Henke2020-10-12 10:08:43 -0500  76)   versions["scala"] = 
"$versions.scala211"
b2039d51 (Grant Henke2020-10-12 10:08:43 -0500  77) }
b2039d51 (Grant Henke2020-10-12 10:08:43 -0500  78)
e5202d30 (Grant Henke2017-06-19 09:35:55 -0500  79) // Add base Scala 
version
e5202d30 (Grant Henke2017-06-19 09:35:55 -0500  80) versions["scalaBase"] = 
versions.scala.substring(0, versions.scala.lastIndexOf("."))
e5202d30 (Grant Henke2017-06-19 09:35:55 -0500  81)
fa953d05 (Grant Henke2017-08-16 14:36:47 -0500  82) // Add base Spark 
version
e5202d30 (Grant Henke2017-06-19 09:35:55 -0500  83) versions["sparkBase"] = 
versions.spark.substring(0, versions.spark.indexOf("."))


java/kudu-spark/build.gradle:
74b9ac67 (Grant Henke   2019-11-19 15:20:52 -0600 41) archivesBaseName = 
"kudu-spark${versions.sparkBase}_${versions.scalaBase}"


If we use 'spark', its version is  "3.1.2" and versions["sparkBase"] is 3.
If we use 'spark2', its version is "2.4.8", and versions["sparkBase"] is 2.

versions["scalaBase"] are the same which is 2.12, whether spark or spark2.

So,  spark${versions.sparkBase}_${versions.scalaBase}":

kudu-spark3_2.12  if 'spark'
kudu-spark2_2.12 if 'spark2' . Right?

If spark2,  it'skudu-spark2_2.12:1.17.0 ?



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

Gerrit-Project: kudu
Gerrit-Branch: branch-1.17.x
Gerrit-MessageType: comment
Gerrit-Change-Id: Icf4b023c19de278c52f931574af6029de8de57ec
Gerrit-Change-Number: 20140
Gerrit-PatchSet: 1
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Mon, 03 Jul 2023 07:09:29 +
Gerrit-HasComments: Yes


[kudu-CR] [java] allow disabling TLS transportation from java client

2023-07-02 Thread Yuqi Du (Code Review)
Yuqi Du has removed a vote on this change.

Change subject: [java] allow disabling TLS transportation from java client
..


Removed Code-Review-2 by Attila Bukor 
--
To view, visit http://gerrit.cloudera.org:8080/16887
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
Gerrit-Change-Number: 16887
Gerrit-PatchSet: 11
Gerrit-Owner: wangning <1994wangn...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Reviewer: wangning <1994wangn...@gmail.com>


[kudu-CR] [java] allow disabling TLS transportation from java client

2023-07-02 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16887 )

Change subject: [java] allow disabling TLS transportation from java client
..


Patch Set 11:

> Patch Set 5:
>
> > Patch Set 5: Code-Review-2
>
> (changed my vote to -2 to make sure we don't accidentally submit)

I'll remove you -2. This patch remove the environment variable and use a 
AsyncKuduClient option variable. It need review again.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
Gerrit-Change-Number: 16887
Gerrit-PatchSet: 11
Gerrit-Owner: wangning <1994wangn...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Reviewer: wangning <1994wangn...@gmail.com>
Gerrit-Comment-Date: Sun, 02 Jul 2023 14:35:21 +
Gerrit-HasComments: No


[kudu-CR] [java] allow disabling TLS transportation from java client

2023-07-02 Thread Yuqi Du (Code Review)
Yuqi Du has removed a vote on this change.

Change subject: [java] allow disabling TLS transportation from java client
..


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
Gerrit-Change-Number: 16887
Gerrit-PatchSet: 11
Gerrit-Owner: wangning <1994wangn...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Reviewer: wangning <1994wangn...@gmail.com>


[kudu-CR] [java] allow disabling TLS transportation from java client

2023-07-02 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16887 )

Change subject: [java] allow disabling TLS transportation from java client
..


Patch Set 11: Verified+1

A test in DEBUG: LocationAwareRebalancingBasicTest.IntraLocationNoConcurrency. 
failed due to a tcmalloc coredump.  It does not matter with this patch.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
Gerrit-Change-Number: 16887
Gerrit-PatchSet: 11
Gerrit-Owner: wangning <1994wangn...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Reviewer: wangning <1994wangn...@gmail.com>
Gerrit-Comment-Date: Sun, 02 Jul 2023 14:28:13 +
Gerrit-HasComments: No


[kudu-CR] [tool] Fix outputs 'kudu pbc dump instance' when using -json/-json pretty

2023-07-02 Thread Yuqi Du (Code Review)
Yuqi Du has removed a vote on this change.

Change subject: [tool] Fix outputs 'kudu pbc dump instance' when using 
-json/-json_pretty
..


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
Gerrit-Change-Number: 18330
Gerrit-PatchSet: 19
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 


[kudu-CR](branch-1.17.x) Bump versions in examples to 1.17.0

2023-07-01 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20140 )

Change subject: Bump versions in examples to 1.17.0
..


Patch Set 1:

(3 comments)

http://gerrit.cloudera.org:8080/#/c/20140/1/examples/java/collectl/README.adoc
File examples/java/collectl/README.adoc:

http://gerrit.cloudera.org:8080/#/c/20140/1/examples/java/collectl/README.adoc@90
PS1, Line 90: spark2_2.11
I study this version, this version may spark3_2.12:1.17.0 ? and all other this 
spark jar version changes.

in java/gradle/dependencies.gradle:

10e3cec1 (Attila Bukor  2022-01-19 08:42:55 +0100  57) scala  : 
"2.12.15",
10e3cec1 (Attila Bukor  2022-01-19 08:42:55 +0100  62) spark  : 
"3.1.2",


http://gerrit.cloudera.org:8080/#/c/20140/1/examples/quickstart/nifi/README.adoc
File examples/quickstart/nifi/README.adoc:

http://gerrit.cloudera.org:8080/#/c/20140/1/examples/quickstart/nifi/README.adoc@166
PS1, Line 166: spark2_2.11
The same as above.


http://gerrit.cloudera.org:8080/#/c/20140/1/examples/quickstart/spark/README.adoc
File examples/quickstart/spark/README.adoc:

http://gerrit.cloudera.org:8080/#/c/20140/1/examples/quickstart/spark/README.adoc@72
PS1, Line 72: spark2_2.11
Mark



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

Gerrit-Project: kudu
Gerrit-Branch: branch-1.17.x
Gerrit-MessageType: comment
Gerrit-Change-Id: Icf4b023c19de278c52f931574af6029de8de57ec
Gerrit-Change-Number: 20140
Gerrit-PatchSet: 1
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Sat, 01 Jul 2023 16:44:40 +
Gerrit-HasComments: Yes


[kudu-CR] [java] allow disabling TLS transportation from java client

2023-07-01 Thread Yuqi Du (Code Review)
Yuqi Du has uploaded a new patch set (#11) to the change originally created by 
wangning. ( http://gerrit.cloudera.org:8080/16887 )

Change subject: [java] allow disabling TLS transportation from java client
..

[java] allow disabling TLS transportation from java client

In a cluster which is running in intranet, sometimes security is less concerned
than performance in case port is not exposed.
As mentioned in [1], on JAVA8 the TLS cypher performance is poor.
And to disable TLS from server side requires to reboot cluster,
it worths a trade off for a working cluster.

This patch introduces a new method 'disableRpcTls' in AsyncKuduClientBuilder
to allow disabling use TLS transportation in client side. It's default value
is true.

[1] https://issues.apache.org/jira/browse/KUDU-3133

Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
---
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/Connection.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ConnectionCache.java
M java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiator.java
M java/kudu-test-utils/src/main/java/org/apache/kudu/test/KuduTestHarness.java
7 files changed, 126 insertions(+), 23 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/87/16887/11
--
To view, visit http://gerrit.cloudera.org:8080/16887
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
Gerrit-Change-Number: 16887
Gerrit-PatchSet: 11
Gerrit-Owner: wangning <1994wangn...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Reviewer: wangning <1994wangn...@gmail.com>


[kudu-CR] [java] allow disabling TLS transportation from java client

2023-06-30 Thread Yuqi Du (Code Review)
Yuqi Du has uploaded a new patch set (#10) to the change originally created by 
wangning. ( http://gerrit.cloudera.org:8080/16887 )

Change subject: [java] allow disabling TLS transportation from java client
..

[java] allow disabling TLS transportation from java client

In a cluster which is running in intranet, sometimes security is less concerned
than performance in case port is not exposed.
As mentioned in [1], on JAVA8 the TLS cypher performance is poor.
And to disable TLS from server side requires to reboot cluster,
it worths a trade off for a working cluster.

This patch introduces a new method 'disableRpcTls' in AsyncKuduClientBuilder
to allow disabling use TLS transportation in client side. It's default value
is true.

[1] https://issues.apache.org/jira/browse/KUDU-3133

Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
---
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/Connection.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ConnectionCache.java
M java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiator.java
M java/kudu-test-utils/src/main/java/org/apache/kudu/test/KuduTestHarness.java
7 files changed, 125 insertions(+), 23 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/87/16887/10
--
To view, visit http://gerrit.cloudera.org:8080/16887
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
Gerrit-Change-Number: 16887
Gerrit-PatchSet: 10
Gerrit-Owner: wangning <1994wangn...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Reviewer: wangning <1994wangn...@gmail.com>


[kudu-CR] [java] allow disabling TLS transportation from java client

2023-06-30 Thread Yuqi Du (Code Review)
Yuqi Du has uploaded a new patch set (#9) to the change originally created by 
wangning. ( http://gerrit.cloudera.org:8080/16887 )

Change subject: [java] allow disabling TLS transportation from java client
..

[java] allow disabling TLS transportation from java client

In a cluster which is running in intranet, sometimes security is less concerned
than performance in case port is not exposed.
As mentioned in [1], on JAVA8 the TLS cypher performance is poor.
And to disable TLS from server side requires to reboot cluster,
it worths a trade off for a working cluster.

This commit introduces a new variable 'rpcEnableTls' in AsyncKuduClientBuilder
variable to allow disabling use TLS transportation in client side. The default
value is true.

[1] https://issues.apache.org/jira/browse/KUDU-3133

Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
---
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/Connection.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ConnectionCache.java
M java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiator.java
M java/kudu-test-utils/src/main/java/org/apache/kudu/test/KuduTestHarness.java
7 files changed, 125 insertions(+), 23 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
Gerrit-Change-Number: 16887
Gerrit-PatchSet: 9
Gerrit-Owner: wangning <1994wangn...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Reviewer: wangning <1994wangn...@gmail.com>


[kudu-CR] [java] allow disabling TLS transportation from java client

2023-06-30 Thread Yuqi Du (Code Review)
Yuqi Du has uploaded a new patch set (#8) to the change originally created by 
wangning. ( http://gerrit.cloudera.org:8080/16887 )

Change subject: [java] allow disabling TLS transportation from java client
..

[java] allow disabling TLS transportation from java client

In a cluster which is running in intranet, sometimes security is less concerned
than performance in case port is not exposed.
As mentioned in [1], on JAVA8 the TLS cypher performance is poor.
And to disable TLS from server side requires to reboot cluster,
it worths a trade off for a working cluster.

This commit introduces a new variable 'rpcEnableTls' in AsyncKuduClientBuilder
variable to allow disabling use TLS transportation in client side. The default
value is true.

[1] https://issues.apache.org/jira/browse/KUDU-3133

Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
---
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/Connection.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ConnectionCache.java
M java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiator.java
M java/kudu-test-utils/src/main/java/org/apache/kudu/test/KuduTestHarness.java
7 files changed, 125 insertions(+), 23 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
Gerrit-Change-Number: 16887
Gerrit-PatchSet: 8
Gerrit-Owner: wangning <1994wangn...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Reviewer: wangning <1994wangn...@gmail.com>


[kudu-CR] [java] allow disabling TLS transportation from java client

2023-06-30 Thread Yuqi Du (Code Review)
Yuqi Du has uploaded a new patch set (#7) to the change originally created by 
wangning. ( http://gerrit.cloudera.org:8080/16887 )

Change subject: [java] allow disabling TLS transportation from java client
..

[java] allow disabling TLS transportation from java client

In a cluster which is running in intranet, sometimes security is less concerned
than performance in case port is not exposed.
As mentioned in [1], on JAVA8 the TLS cypher performance is poor.
And to disable TLS from server side requires to reboot cluster,
it worths a trade off for a working cluster.

This commit introduces a new variable 'rpcEnableTls' in AsyncKuduClientBuilder
variable to allow disabling use TLS transportation in client side. The default
value is true.

[1] https://issues.apache.org/jira/browse/KUDU-3133

Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
---
M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java
M java/kudu-client/src/main/java/org/apache/kudu/client/Connection.java
M java/kudu-client/src/main/java/org/apache/kudu/client/ConnectionCache.java
M java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiator.java
M java/kudu-test-utils/src/main/java/org/apache/kudu/test/KuduTestHarness.java
7 files changed, 125 insertions(+), 24 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/87/16887/7
--
To view, visit http://gerrit.cloudera.org:8080/16887
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
Gerrit-Change-Number: 16887
Gerrit-PatchSet: 7
Gerrit-Owner: wangning <1994wangn...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Reviewer: wangning <1994wangn...@gmail.com>


[kudu-CR] KUDU-2724 build macOS mini cluster binaries on newer macOS

2023-06-30 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20141 )

Change subject: KUDU-2724 build macOS mini_cluster binaries on newer macOS
..


Patch Set 3: Verified+1 Code-Review+1


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Id7d7ae2c55ffeac2ebc11513e6909bf6b0b8d6d7
Gerrit-Change-Number: 20141
Gerrit-PatchSet: 3
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Fri, 30 Jun 2023 10:40:32 +
Gerrit-HasComments: No


[kudu-CR](branch-1.17.x) Bump version to 1.17.0

2023-06-30 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20139 )

Change subject: Bump version to 1.17.0
..


Patch Set 1: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: branch-1.17.x
Gerrit-MessageType: comment
Gerrit-Change-Id: I948139a36be528b09d18c77d4379bcce30184327
Gerrit-Change-Number: 20139
Gerrit-PatchSet: 1
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Fri, 30 Jun 2023 10:36:34 +
Gerrit-HasComments: No


[kudu-CR](branch-1.17.x) Bump version to 1.17.0

2023-06-30 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20139 )

Change subject: Bump version to 1.17.0
..


Patch Set 1: Code-Review+1


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

Gerrit-Project: kudu
Gerrit-Branch: branch-1.17.x
Gerrit-MessageType: comment
Gerrit-Change-Id: I948139a36be528b09d18c77d4379bcce30184327
Gerrit-Change-Number: 20139
Gerrit-PatchSet: 1
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Fri, 30 Jun 2023 10:36:27 +
Gerrit-HasComments: No


[kudu-CR] [tool] Fix outputs 'kudu pbc dump instance' when using -json/-json pretty

2023-06-30 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/18330 )

Change subject: [tool] Fix outputs 'kudu pbc dump instance' when using 
-json/-json_pretty
..


Patch Set 19:

> Patch Set 19: Verified+1
>
> > Patch Set 19: Verified-1
> >
> > Build Failed
> >
> > http://jenkins.kudu.apache.org/job/kudu-gerrit/28112/ : FAILURE
>
>
> There are 2 failure.
>
> 1. DEBUG, rebalance_tool a test kudu is coredump.
>
> 2. ASAN. There was 1 failure:
> 1) testFlushBySize(org.apache.kudu.client.TestAsyncKuduSession)
> com.stumbleupon.async.TimeoutException: Timed out after 5ms when joining 
> Deferred@398562602(state=PENDING, result=null, callback=wakeup thread 
> Time-limited test, errback=wakeup thread Time-limited test)
>   at com.stumbleupon.async.Deferred.doJoin(Deferred.java:1183)
>   at com.stumbleupon.async.Deferred.join(Deferred.java:1042)
>   at 
> org.apache.kudu.client.TestAsyncKuduSession.testFlushBySize(TestAsyncKuduSession.java:409)
>
> FAILURES!!!
> Tests run: 12,  Failures: 1
>
>
> I'll review the 2 unsteady tests later.

The two fails do not matter with this patch.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
Gerrit-Change-Number: 18330
Gerrit-PatchSet: 19
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Fri, 30 Jun 2023 07:06:25 +
Gerrit-HasComments: No


[kudu-CR] [tool] Fix outputs 'kudu pbc dump instance' when using -json/-json pretty

2023-06-30 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/18330 )

Change subject: [tool] Fix outputs 'kudu pbc dump instance' when using 
-json/-json_pretty
..


Patch Set 19:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/18330/14/src/kudu/util/pb_util.cc
File src/kudu/util/pb_util.cc:

http://gerrit.cloudera.org:8080/#/c/18330/14/src/kudu/util/pb_util.cc@989
PS14, Line 989:   // when users use '--json or --json_pr
> I should study about this
Thanks for your advices. I have added a new extend. You can review it again.

And this fix will cause metadata file's header becomes a litter large. So I 
extract a fs_with_extends.proto file to avoid this disadvantage changes.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
Gerrit-Change-Number: 18330
Gerrit-PatchSet: 19
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Fri, 30 Jun 2023 07:04:52 +
Gerrit-HasComments: Yes


[kudu-CR] [java] allow disabling TLS transportation from java client

2023-06-30 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16887 )

Change subject: [java] allow disabling TLS transportation from java client
..


Patch Set 6:

> Patch Set 5: Code-Review-1
>
> This is a nice feature, but right now we don't use many environment 
> variables, especially on the client-side. I was also thinking about adding a 
> similar config to *require* TLS as right now it's trivial to MITM and 
> downgrade to clear text. If we used env vars, these two vars would collide.
>
> For these reasons, I'd rather we used code config which is a lot more robust 
> and I feel like it's more widespread in the Java world. Env vars can still be 
> added on the application-side if a user decides they want to control this 
> behavior by env vars, but it's also possible to read the config from an XML 
> or YAML config file as well if we opt to use code-configs.
>
> I realize this patch might not be the best place to discuss this, so maybe we 
> should bring this up on dev@ instead. In the meantime, I'd recommend against 
> merging this so I'm voting -1.


I'll remove the variable environment and pass a clientBuilder variable to 
control whether rpc use TLS.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
Gerrit-Change-Number: 16887
Gerrit-PatchSet: 6
Gerrit-Owner: wangning <1994wangn...@gmail.com>
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Reviewer: wangning <1994wangn...@gmail.com>
Gerrit-Comment-Date: Fri, 30 Jun 2023 06:53:50 +
Gerrit-HasComments: No


[kudu-CR] [tool] Fix outputs 'kudu pbc dump instance' when using -json/-json pretty

2023-06-30 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/18330 )

Change subject: [tool] Fix outputs 'kudu pbc dump instance' when using 
-json/-json_pretty
..


Patch Set 19: Verified+1

> Patch Set 19: Verified-1
>
> Build Failed
>
> http://jenkins.kudu.apache.org/job/kudu-gerrit/28112/ : FAILURE


There are 2 failure.

1. DEBUG, rebalance_tool a test kudu is coredump.

2. ASAN. There was 1 failure:
1) testFlushBySize(org.apache.kudu.client.TestAsyncKuduSession)
com.stumbleupon.async.TimeoutException: Timed out after 5ms when joining 
Deferred@398562602(state=PENDING, result=null, callback=wakeup thread 
Time-limited test, errback=wakeup thread Time-limited test)
at com.stumbleupon.async.Deferred.doJoin(Deferred.java:1183)
at com.stumbleupon.async.Deferred.join(Deferred.java:1042)
at 
org.apache.kudu.client.TestAsyncKuduSession.testFlushBySize(TestAsyncKuduSession.java:409)

FAILURES!!!
Tests run: 12,  Failures: 1


I'll review the 2 unsteady tests later.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
Gerrit-Change-Number: 18330
Gerrit-PatchSet: 19
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Fri, 30 Jun 2023 06:48:59 +
Gerrit-HasComments: No


[kudu-CR] [tool] Fix outputs 'kudu pbc dump instance' when using -json/-json pretty

2023-06-29 Thread Yuqi Du (Code Review)
Hello Alexey Serbin, Ashwani Raina, Yingchun Lai, Yifan Zhang, Kudu Jenkins, 
Abhishek Chennaka, KeDeng, Wang Xixu,

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

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

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

Change subject: [tool] Fix outputs 'kudu pbc dump instance' when using 
-json/-json_pretty
..

[tool] Fix outputs 'kudu pbc dump instance' when using -json/-json_pretty

The output of two commands below about the 'uuid' field are not the same
1. kudu pbc dump xxx/instance -debug/default
2. kudu pbc dump xxx/instance -json/-json_pretty

For example:
1. kudu pbc dump instance, which is a plain output format.
Message 0
---
uuid: "ac6b3e392cb34b4681e54a33c95fdf9c"
format_stamp: "Formatted at 2023-03-10 09:16:22 on 2a43db713d56"

2. kudu pbc dump instance --json, which is a json output format
{"uuid":"YWM2YjNlMzkyY2IzNGI0NjgxZTU0YTMzYzk1ZmRmOWM=","formatStamp":"Formatted 
at 2023-03-10 09:16:22 on 2a43db713d56"}

The reason is the type of 'uuid' is bytes and protobuf's bytes type is 
base64-encoded.
'--debug/default' mode shows uuid's plain text while '--debug/default'
mode uses protobuf's API and shows base64-encoded text.

This patch fixes this problem.

Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
---
M src/kudu/fs/CMakeLists.txt
M src/kudu/fs/fs.proto
M src/kudu/fs/fs_manager-test.cc
M src/kudu/fs/fs_manager.cc
A src/kudu/fs/fs_with_extend.proto
M src/kudu/mini-cluster/external_mini_cluster.cc
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/tool_action_common.cc
M src/kudu/tools/tool_action_pbc.cc
M src/kudu/util/easy_json.cc
M src/kudu/util/easy_json.h
M src/kudu/util/pb_util.cc
M src/kudu/util/pb_util.h
M src/kudu/util/pb_util.proto
14 files changed, 197 insertions(+), 80 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/30/18330/19
--
To view, visit http://gerrit.cloudera.org:8080/18330
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
Gerrit-Change-Number: 18330
Gerrit-PatchSet: 19
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [cpp-client] KUDU-3455 Reduce space complexity and speed up hash partition pruning for in-list predicate

2023-06-26 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19794 )

Change subject: [cpp-client] KUDU-3455 Reduce space complexity and speed up 
hash partition pruning for in-list predicate
..


Patch Set 14: Code-Review+1

> Patch Set 13:
>
> > Patch Set 13: Code-Review+2
>
> Just FYI, Yuqi: it's not a good practice to add +2 for your own patches 
> (unless you carrying over somebody's else +2 from prior PS just after re-base 
> or minor updates).

OK. Thanks for your advice. I would follow this rule.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie4bea5c10b4ac2c62b85625fe9d2a33ceb4fb2e9
Gerrit-Change-Number: 19794
Gerrit-PatchSet: 14
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Mon, 26 Jun 2023 09:00:34 +
Gerrit-HasComments: No


[kudu-CR] KUDU-3371 [fs] make LogBlockContainer a base class

2023-06-26 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19610 )

Change subject: KUDU-3371 [fs] make LogBlockContainer a base class
..


Patch Set 5: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ieb199de95973aaeba76947ad095907272d84ca67
Gerrit-Change-Number: 19610
Gerrit-PatchSet: 5
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Mon, 26 Jun 2023 07:22:44 +
Gerrit-HasComments: No


[kudu-CR] [cpp-client] KUDU-3455 Reduce space complexity and speed up hash partition pruning for in-list predicate

2023-06-26 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19794 )

Change subject: [cpp-client] KUDU-3455 Reduce space complexity and speed up 
hash partition pruning for in-list predicate
..


Patch Set 14: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie4bea5c10b4ac2c62b85625fe9d2a33ceb4fb2e9
Gerrit-Change-Number: 19794
Gerrit-PatchSet: 14
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Mon, 26 Jun 2023 07:17:05 +
Gerrit-HasComments: No


[kudu-CR] [cpp-client] KUDU-3455 Reduce space complexity and speed up hash partition pruning for in-list predicate

2023-06-26 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19794 )

Change subject: [cpp-client] KUDU-3455 Reduce space complexity and speed up 
hash partition pruning for in-list predicate
..


Patch Set 13:

(6 comments)

Thanks for your advices. You can review it again.

http://gerrit.cloudera.org:8080/#/c/19794/12/src/kudu/common/partition_pruner-test.cc
File src/kudu/common/partition_pruner-test.cc:

http://gerrit.cloudera.org:8080/#/c/19794/12/src/kudu/common/partition_pruner-test.cc@984
PS12, Line 984: generate some in-list predicates for these key columns. The old 
algorith
> Sorry for the late reply. I will take a further more review of this patch a
The unit tests  which tables with hash bucket partitions has tested the old 
algorithm. At this, they are also tested the new algorithms, such as 
PartitionPrunerTest::TestHashPruning, PartitionPrunerTest::TestPruning, 
PartitionPrunerTest::TestHashSchemasPerRangeWithPartialPrimaryKeyRangePruning.  
They can make sure  the new algorithm's results are the same as the old one, in 
other words, they has make sure the correctness of new algorithm.

So based on the old one algorithm is correct, I randomly construct a lots of 
in-list cases to cover more combinations to which is impossible to check all 
the combinations, make sure  the general sensors and at the same time compare 
with the performance.


http://gerrit.cloudera.org:8080/#/c/19794/13/src/kudu/common/partition_pruner-test.cc
File src/kudu/common/partition_pruner-test.cc:

http://gerrit.cloudera.org:8080/#/c/19794/13/src/kudu/common/partition_pruner-test.cc@1026
PS13, Line 1026: vector()
> nit: can be replaced by '{}'.
Done


http://gerrit.cloudera.org:8080/#/c/19794/13/src/kudu/common/partition_pruner-test.cc@1047
PS13, Line 1047: CHECK_EQ(v1.size(), v2.size());
   :   for (int i = 0; i < v1.size(); i++) {
   : ASSERT_EQ(v1[i], v2[i]);
   :   }
> nit: they can be replaced by ASSERT_EQ(v1, v2);
Done


http://gerrit.cloudera.org:8080/#/c/19794/13/src/kudu/common/partition_pruner-test.cc@1069
PS13, Line 1069: kMaxSafeLength
> kMaxInListLength?
Done


http://gerrit.cloudera.org:8080/#/c/19794/13/src/kudu/common/partition_pruner-test.cc@1084
PS13, Line 1084: temp_values[temp_values.size() - 1]
> nit: temp_values.back() ?
Done


http://gerrit.cloudera.org:8080/#/c/19794/13/src/kudu/common/partition_pruner-test.cc@1085
PS13, Line 1085: j++;
> nit: Move it to line 1081 which is more conventional.
Done



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie4bea5c10b4ac2c62b85625fe9d2a33ceb4fb2e9
Gerrit-Change-Number: 19794
Gerrit-PatchSet: 13
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Mon, 26 Jun 2023 07:12:29 +
Gerrit-HasComments: Yes


[kudu-CR] [cpp-client] KUDU-3455 Reduce space complexity and speed up hash partition pruning for in-list predicate

2023-06-26 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Alexey Serbin, Ashwani Raina, Yingchun Lai, Yifan Zhang, Kudu 
Jenkins, Abhishek Chennaka, KeDeng, Wang Xixu,

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

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

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

Change subject: [cpp-client] KUDU-3455 Reduce space complexity and speed up 
hash partition pruning for in-list predicate
..

[cpp-client] KUDU-3455 Reduce space complexity and speed up hash partition 
pruning for in-list predicate

This patch comes from a committed patch, its committed id is 'b69dbeb'. As that
patch said, logic of pruning hash partitions for in-list predicate in Kudu cpp
client has also a high space complexity and slow. Old algorithm must keep
all intermedium objects because they are incomplete until they are
completed and can be computed hash.

This patch fixes the problems and provides a recursive algorithm the
same as the one used by java client.

Compared with java client, the cpp client is less likely to cause the
OOM condition because it does not keep too many intermediate results.
This optimization has good benefits too. The benefits are related to
the in-list length and the number of primary keys, the performance
would be better if in-list length is longer. For example,
PartitionPrunerTest::TestMultiColumnInListHashPruningManyValues,
using 10 key columns and kMaxInListLength=50, old algorithm memory cost
may reach 600MB, while new algorithm's memory cost can be ignored
(it only need one objects and a few stacks for contexts). At the same
time, new algorithm has a good speedup, some effect as below:

combination_count: 555400692, old cost: 428238us, new cost: 713us, speedup: 
600.6x
combination_count: 89083783664568, old cost: 2764924us, new cost: 1145us, 
speedup: 2414.7x
combination_count: 27194091724800, old cost: 1610475us, new cost: 1151us, 
speedup: 1399.2x
combination_count: 7116622216704, old cost: 34544289us, new cost: 375us, 
speedup: 92118.1x
combination_count: 37570734489600, old cost: 1733205us, new cost: 901us, 
speedup: 1923.6x

Change-Id: Ie4bea5c10b4ac2c62b85625fe9d2a33ceb4fb2e9
---
M src/kudu/common/partition_pruner-test.cc
M src/kudu/common/partition_pruner.cc
M src/kudu/common/partition_pruner.h
3 files changed, 240 insertions(+), 19 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ie4bea5c10b4ac2c62b85625fe9d2a33ceb4fb2e9
Gerrit-Change-Number: 19794
Gerrit-PatchSet: 14
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [java] allow disabling TLS transportation from java client

2023-06-26 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16887 )

Change subject: [java] allow disabling TLS transportation from java client
..


Patch Set 6:

This patch's author is wangning, I have obtained his consent and continue his 
work. Welcome to review this again.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
Gerrit-Change-Number: 16887
Gerrit-PatchSet: 6
Gerrit-Owner: wangning <1994wangn...@gmail.com>
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yuqi Du 
Gerrit-Reviewer: wangning <1994wangn...@gmail.com>
Gerrit-Comment-Date: Mon, 26 Jun 2023 06:31:34 +
Gerrit-HasComments: No


[kudu-CR] [java] allow disabling TLS transportation from java client

2023-06-25 Thread Yuqi Du (Code Review)
Yuqi Du has uploaded a new patch set (#6) to the change originally created by 
wangning. ( http://gerrit.cloudera.org:8080/16887 )

Change subject: [java] allow disabling TLS transportation from java client
..

[java] allow disabling TLS transportation from java client

In a cluster which is running in intranet, sometimes security is less concerned
than performance in case port is not exposed.
As mentioned in [1], on JAVA8 the TLS cypher performance is poor.
And to disable TLS from server side requires to reboot cluster,
it worths a trade off for a working cluster.

This commit introduces KUDU_CLIENT_DISABLE_TLS environment variable to allow
disabling use TLS transportation in client side.

[1] https://issues.apache.org/jira/browse/KUDU-3133

Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
---
M java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java
A java/kudu-client/src/main/java/org/apache/kudu/util/SystemEnvUtil.java
M java/kudu-client/src/test/java/org/apache/kudu/client/TestNegotiation.java
M 
java/kudu-test-utils/src/main/java/org/apache/kudu/test/junit/ResultReporter.java
4 files changed, 199 insertions(+), 38 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/87/16887/6
--
To view, visit http://gerrit.cloudera.org:8080/16887
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I762b9d6ef9257a7853684dd0aef315e5c5bba8ed
Gerrit-Change-Number: 16887
Gerrit-PatchSet: 6
Gerrit-Owner: wangning <1994wangn...@gmail.com>
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Andrew Wong 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: Grant Henke 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yuqi Du 
Gerrit-Reviewer: wangning <1994wangn...@gmail.com>


[kudu-CR] [cpp-client] KUDU-3455 Reduce space complexity and speed up hash partition pruning for in-list predicate

2023-06-21 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19794 )

Change subject: [cpp-client] KUDU-3455 Reduce space complexity and speed up 
hash partition pruning for in-list predicate
..


Patch Set 13: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie4bea5c10b4ac2c62b85625fe9d2a33ceb4fb2e9
Gerrit-Change-Number: 19794
Gerrit-PatchSet: 13
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Wed, 21 Jun 2023 11:09:27 +
Gerrit-HasComments: No


[kudu-CR] [java] add buffer space limit for KuduSession

2023-06-15 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19918 )

Change subject: [java] add buffer space limit for KuduSession
..


Patch Set 9: Verified+1

(2 comments)

LGTM

http://gerrit.cloudera.org:8080/#/c/19918/6//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/19918/6//COMMIT_MSG@11
PS6, Line 11: configuring
> Same spelling?
sorry for mistake


http://gerrit.cloudera.org:8080/#/c/19918/6/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
File 
java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java:

http://gerrit.cloudera.org:8080/#/c/19918/6/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java@649
PS6, Line 649: isExcessMaxSiz
> Done
Done



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I312d47c98566f9405361d969a4b68b326bb3c4d9
Gerrit-Change-Number: 19918
Gerrit-PatchSet: 9
Gerrit-Owner: KeDeng 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Thu, 15 Jun 2023 07:18:47 +
Gerrit-HasComments: Yes


[kudu-CR] [duplication] KUDU-3290 Support write ops to kafka with kafka client

2023-06-14 Thread Yuqi Du (Code Review)
Hello Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: [duplication] KUDU-3290 Support write ops to kafka with kafka 
client
..

[duplication] KUDU-3290 Support write ops to kafka with kafka client

This patch is the first patch for duplication, it includes:
1. adding 2 thirdparty libraries: cppkafka, librdkafka.
librdkfka supports c language apis to operate kafka, and
cppkafka is a C++ wrapper for librdkakfa, its an api sugger.
2. Duplicator: write records to kafka

As my plans, I will commit about 9 commits for duplication.
1. Support write ops to kafka with kafka client
2. Add a new raft role DUPLICATOR and raft processing
3. registe kafka uri and validate and unregiste
4. recovering duplication when a leader switches
5. creating/altering in server-side for duplication
6. cpp client apis and CLI tool
7. java client apis
8. suppports kerberos
9. alter a duplication

During this progressing, plans maybe adjust according to advices.

Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M src/kudu/common/types-test.cc
M src/kudu/common/types.cc
M src/kudu/common/types.h
M src/kudu/consensus/consensus.proto
M src/kudu/consensus/metadata.proto
A src/kudu/duplicator/CMakeLists.txt
A src/kudu/duplicator/connector.cc
A src/kudu/duplicator/connector.h
A src/kudu/duplicator/connector_manager.h
A src/kudu/duplicator/duplicator.cc
A src/kudu/duplicator/duplicator.h
A src/kudu/duplicator/kafka/kafka.proto
A src/kudu/duplicator/kafka/kafka_connector-test.cc
A src/kudu/duplicator/kafka/kafka_connector.cc
A src/kudu/duplicator/kafka/kafka_connector.h
A src/kudu/integration-tests/single_broker_kafka.h
A src/kudu/scripts/kafka-simple-control.sh
M src/kudu/tablet/CMakeLists.txt
M src/kudu/tablet/ops/write_op.h
M src/kudu/tablet/tablet.h
M src/kudu/tablet/tablet_replica.cc
M src/kudu/tablet/tablet_replica.h
M src/kudu/tserver/tablet_server.cc
M src/kudu/tserver/tablet_server.h
M src/kudu/tserver/ts_tablet_manager.cc
M src/kudu/tserver/ts_tablet_manager.h
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/vars.sh
33 files changed, 2,126 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/09/19909/3
--
To view, visit http://gerrit.cloudera.org:8080/19909
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
Gerrit-Change-Number: 19909
Gerrit-PatchSet: 3
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [tool] Fix outputs 'kudu pbc dump instance' when using -json/-json pretty

2023-06-14 Thread Yuqi Du (Code Review)
Hello Alexey Serbin, Ashwani Raina, Yingchun Lai, Yifan Zhang, Kudu Jenkins, 
Abhishek Chennaka, KeDeng, Wang Xixu,

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

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

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

Change subject: [tool] Fix outputs 'kudu pbc dump instance' when using 
-json/-json_pretty
..

[tool] Fix outputs 'kudu pbc dump instance' when using -json/-json_pretty

The output of two commands below about the 'uuid' field are not the same
1. kudu pbc dump xxx/instance -debug/default
2. kudu pbc dump xxx/instance -json/-json_pretty

For example:
1. kudu pbc dump instance, which is a plain output format.
Message 0
---
uuid: "ac6b3e392cb34b4681e54a33c95fdf9c"
format_stamp: "Formatted at 2023-03-10 09:16:22 on 2a43db713d56"

2. kudu pbc dump instance --json, which is a json output format
{"uuid":"YWM2YjNlMzkyY2IzNGI0NjgxZTU0YTMzYzk1ZmRmOWM=","formatStamp":"Formatted 
at 2023-03-10 09:16:22 on 2a43db713d56"}

The reason is the type of 'uuid' is bytes and protobuf's bytes type is 
base64-encoded.
'--debug/default' mode shows uuid's plain text while '--debug/default'
mode uses protobuf's API and shows base64-encoded text.

This patch fixes this problem.

Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
---
M src/kudu/fs/fs.proto
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/tool_action_pbc.cc
M src/kudu/util/easy_json.cc
M src/kudu/util/easy_json.h
M src/kudu/util/pb_util.cc
M src/kudu/util/pb_util.h
M src/kudu/util/pb_util.proto
8 files changed, 103 insertions(+), 24 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/30/18330/17
--
To view, visit http://gerrit.cloudera.org:8080/18330
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
Gerrit-Change-Number: 18330
Gerrit-PatchSet: 17
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [java] add buffer space limit for KuduSession

2023-06-14 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19918 )

Change subject: [java] add buffer space limit for KuduSession
..


Patch Set 6:

(5 comments)

http://gerrit.cloudera.org:8080/#/c/19918/6//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/19918/6//COMMIT_MSG@11
PS6, Line 11: configuring
nit: configuring


http://gerrit.cloudera.org:8080/#/c/19918/6//COMMIT_MSG@11
PS6, Line 11: Buffer Space
buffer space


http://gerrit.cloudera.org:8080/#/c/19918/6/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
File 
java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java:

http://gerrit.cloudera.org:8080/#/c/19918/6/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java@649
PS6, Line 649: isAboveMaxSize
what about isExcessMaxSize ?


http://gerrit.cloudera.org:8080/#/c/19918/6/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java@894
PS6, Line 894: with
nit: from


http://gerrit.cloudera.org:8080/#/c/19918/6/java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduSession.java
File 
java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduSession.java:

http://gerrit.cloudera.org:8080/#/c/19918/6/java/kudu-client/src/test/java/org/apache/kudu/client/TestAsyncKuduSession.java@410
PS6, Line 410: while (session.hasPendingOperations()) {
If session.hasPendingOperations() is always true, it will be an infinity loop.
Our expecting is  session.hasPendingOperations() = false very soon. So should 
give it a limit time, assertEventuallyTrue is ok.

I think you can comments why sleep to wait at this



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I312d47c98566f9405361d969a4b68b326bb3c4d9
Gerrit-Change-Number: 19918
Gerrit-PatchSet: 6
Gerrit-Owner: KeDeng 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Wed, 14 Jun 2023 08:39:26 +
Gerrit-HasComments: Yes


[kudu-CR] [server] KUDU-1945 Auto incrementing column Upsert support

2023-06-14 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/20061 )

Change subject: [server] KUDU-1945 Auto_incrementing column Upsert support
..


Patch Set 1:

(3 comments)

http://gerrit.cloudera.org:8080/#/c/20061/1/src/kudu/common/row_operations.cc
File src/kudu/common/row_operations.cc:

http://gerrit.cloudera.org:8080/#/c/20061/1/src/kudu/common/row_operations.cc@478
PS1, Line 478: op->type == RowOperationsPB_Type_UPSERT ||
 :   op->type == RowOperationsPB_Type_UPSERT_IGNORE
RowOperationsPB_Type_UPSERT means RowOperationsPB_Type_INSERT or 
RowOperationsPB_Type_UPDATE,
according to context, I guess it is for RowOperationsPB_Type_UPDATE. So should 
we add RowOperationsPB_Type_UPDATE at this?


http://gerrit.cloudera.org:8080/#/c/20061/1/src/kudu/common/row_operations.cc@491
PS1, Line 491: "column value");
nit: alignment


http://gerrit.cloudera.org:8080/#/c/20061/1/src/kudu/common/row_operations.cc@495
PS1, Line 495:   // Check if the provided counter value is less 
than what is in memory
 :   // and update the counter in memory.
This auto-incrementing counter is set by the user at client?
If a user set a smaller value, server side will ignore this set and change it 
to a bigger one using an obscure way for users. In kudu, this is correct, but 
for users it seems not good enough.

Whether it is necessary to provide more response messages or return not ok?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib5cc4d80f77c165452572948f68c76fc70394d47
Gerrit-Change-Number: 20061
Gerrit-PatchSet: 1
Gerrit-Owner: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber 
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Wed, 14 Jun 2023 08:07:02 +
Gerrit-HasComments: Yes


[kudu-CR] [tool] Fix outputs 'kudu pbc dump instance' when using -json/-json pretty

2023-06-13 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/18330 )

Change subject: [tool] Fix outputs 'kudu pbc dump instance' when using 
-json/-json_pretty
..


Patch Set 16:

(13 comments)

Thanks for your advices and I fixed them. You can review it again.

http://gerrit.cloudera.org:8080/#/c/18330/14//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/18330/14//COMMIT_MSG@12
PS14, Line 12:
> It is better to describe the difference of the first command and the second
Done


http://gerrit.cloudera.org:8080/#/c/18330/14//COMMIT_MSG@13
PS14, Line 13:
> base64-encoded
Done


http://gerrit.cloudera.org:8080/#/c/18330/14//COMMIT_MSG@14
PS14, Line 14: . kudu pbc dump instance, which is a plain output format.
> Here you need to compare '--debug/default' mode with '-json/-json_pretty' m
I guess you mean I should paste the two commands output at this. So I do this.


http://gerrit.cloudera.org:8080/#/c/18330/14//COMMIT_MSG@15
PS14, Line 15:
> base64-encoded
Done


http://gerrit.cloudera.org:8080/#/c/18330/14//COMMIT_MSG@15
PS14, Line 15:
> API
Done


http://gerrit.cloudera.org:8080/#/c/18330/14/src/kudu/util/pb_util.h
File src/kudu/util/pb_util.h:

http://gerrit.cloudera.org:8080/#/c/18330/14/src/kudu/util/pb_util.h@422
PS14, Line 422:   // 'BytesTextDumpFlag
> Should the name of this enum contain some reference on the context where it
Done


http://gerrit.cloudera.org:8080/#/c/18330/14/src/kudu/util/pb_util.h@423
PS14, Line 423:  when u
> That's not the best name for the enum tag.  Maybe, name this as BASE64_ENCO
ok


http://gerrit.cloudera.org:8080/#/c/18330/14/src/kudu/util/pb_util.h@427
PS14, Line 427:   enum class BytesFieldDumpFlag {
> Use DECODE_UUID as the default value is a little confusing. There is a Dump
Yes.  I fixed the names.


http://gerrit.cloudera.org:8080/#/c/18330/14/src/kudu/util/pb_util.cc
File src/kudu/util/pb_util.cc:

http://gerrit.cloudera.org:8080/#/c/18330/14/src/kudu/util/pb_util.cc@989
PS14, Line 989:   const std::string kUuidField = "uuid";
> Instead of having this field name hard-coded here, consider something simil
I should study about this


http://gerrit.cloudera.org:8080/#/c/18330/14/src/kudu/util/pb_util.cc@990
PS14, Line 990: decode it from base6
> decode it from base64 format
Done


http://gerrit.cloudera.org:8080/#/c/18330/14/src/kudu/util/pb_util.cc@994
PS14, Line 994:   // Maybe it's necessary to consider other 'bytes' fields 
which can be dumped.
> If the whole message is encoded in base64 format, can we decode whole messa
No. Only bytes fields, in 'kudu pbc dump instance' is the uuid. Other field is 
normal , not based64-encoded.


http://gerrit.cloudera.org:8080/#/c/18330/14/src/kudu/util/pb_util.cc@1027
PS14, Line 1027: JsonFormat json_format = JsonFormat::JSON;
> nit: is it possible to move this to line 1024, to be after Format::JSON but
It's hard to make the two 'case' using a common variable except moving this 
statement before switch.

L1029 has an example.

So, I think this statement at here it ok.


http://gerrit.cloudera.org:8080/#/c/18330/14/src/kudu/util/pb_util.cc@1044
PS14, Line 1044: RETURN_N
> Here and below: why not to use RETURN_NOT_OK() here?  I.e., why to crash if
Yes. This CHECK is not necessary. I fix them.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
Gerrit-Change-Number: 18330
Gerrit-PatchSet: 16
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Tue, 13 Jun 2023 16:37:06 +
Gerrit-HasComments: Yes


[kudu-CR] [tool] Fix outputs 'kudu pbc dump instance' when using -json/-json pretty

2023-06-13 Thread Yuqi Du (Code Review)
Hello Alexey Serbin, Ashwani Raina, Yingchun Lai, Yifan Zhang, Kudu Jenkins, 
Abhishek Chennaka, KeDeng, Wang Xixu,

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

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

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

Change subject: [tool] Fix outputs 'kudu pbc dump instance' when using 
-json/-json_pretty
..

[tool] Fix outputs 'kudu pbc dump instance' when using -json/-json_pretty

The output of two commands below about the 'uuid' field are not the same
1. kudu pbc dump xxx/instance -debug/default
2. kudu pbc dump xxx/instance -json/-json_pretty

For example:
1. kudu pbc dump instance, which is a plain output format.
Message 0
---
uuid: "ac6b3e392cb34b4681e54a33c95fdf9c"
format_stamp: "Formatted at 2023-03-10 09:16:22 on 2a43db713d56"

2. kudu pbc dump instance --json, which is a json output format
{"uuid":"YWM2YjNlMzkyY2IzNGI0NjgxZTU0YTMzYzk1ZmRmOWM=","formatStamp":"Formatted 
at 2023-03-10 09:16:22 on 2a43db713d56"}

The reason is the type of 'uuid' is bytes and protobuf's bytes type is 
base64-encoded.
'--debug/default' mode shows uuid's plain text while '--debug/default'
mode uses protobuf's API and shows base64-encoded text.

This patch fixes this problem.

Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
---
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/tool_action_pbc.cc
M src/kudu/util/easy_json.cc
M src/kudu/util/easy_json.h
M src/kudu/util/pb_util.cc
M src/kudu/util/pb_util.h
6 files changed, 87 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/30/18330/16
--
To view, visit http://gerrit.cloudera.org:8080/18330
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
Gerrit-Change-Number: 18330
Gerrit-PatchSet: 16
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [tool] Fix outputs 'kudu pbc dump instance' when using -json/-json pretty

2023-06-13 Thread Yuqi Du (Code Review)
Hello Alexey Serbin, Ashwani Raina, Yingchun Lai, Yifan Zhang, Kudu Jenkins, 
Abhishek Chennaka, KeDeng, Wang Xixu,

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

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

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

Change subject: [tool] Fix outputs 'kudu pbc dump instance' when using 
-json/-json_pretty
..

[tool] Fix outputs 'kudu pbc dump instance' when using -json/-json_pretty

The output of two commands below about the 'uuid' field are not the same
1. kudu pbc dump xxx/instance -debug/default
2. kudu pbc dump xxx/instance -json/-json_pretty

For example:
1. kudu pbc dump instance, which is a plain output format.
Message 0
---
uuid: "ac6b3e392cb34b4681e54a33c95fdf9c"
format_stamp: "Formatted at 2023-03-10 09:16:22 on 2a43db713d56"

2. kudu pbc dump instance --json, which is a json output format
{"uuid":"YWM2YjNlMzkyY2IzNGI0NjgxZTU0YTMzYzk1ZmRmOWM=","formatStamp":"Formatted 
at 2023-03-10 09:16:22 on 2a43db713d56"}

The reason is the type of 'uuid' is bytes and protobuf's bytes type is 
base64-encoded.
'--debug/default' mode shows uuid's plain text while '--debug/default'
mode uses protobuf's API and shows base64-encoded text.

This patch fixes this problem.

Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
---
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/tool_action_pbc.cc
M src/kudu/util/easy_json.cc
M src/kudu/util/easy_json.h
M src/kudu/util/pb_util.cc
M src/kudu/util/pb_util.h
6 files changed, 87 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/30/18330/15
--
To view, visit http://gerrit.cloudera.org:8080/18330
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
Gerrit-Change-Number: 18330
Gerrit-PatchSet: 15
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [cpp-client] KUDU-3455 Reduce space complexity and speed up hash partition pruning for in-list predicate

2023-06-13 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19794 )

Change subject: [cpp-client] KUDU-3455 Reduce space complexity and speed up 
hash partition pruning for in-list predicate
..


Patch Set 13: Verified+1

(7 comments)

Thanks for your advices, I fixed them.

http://gerrit.cloudera.org:8080/#/c/19794/12/src/kudu/common/partition_pruner-test.cc
File src/kudu/common/partition_pruner-test.cc:

http://gerrit.cloudera.org:8080/#/c/19794/12/src/kudu/common/partition_pruner-test.cc@96
PS12, Line 96: Return a bitset indicates which hash buckets are
> How about:
Done


http://gerrit.cloudera.org:8080/#/c/19794/12/src/kudu/common/partition_pruner-test.cc@193
PS12, Line 193: // The old algorithm. It moved from 'partition_pruner.cc'.
> Is it copied from partition_pruner.cc?
Yes.


http://gerrit.cloudera.org:8080/#/c/19794/12/src/kudu/common/partition_pruner-test.cc@984
PS12, Line 984: generate some in-list predicates for these key columns. The old 
algorith
> How about add some tests before this patch, the tests will pass by the 'old
It seems more confuse.
I add some comments using other words.


http://gerrit.cloudera.org:8080/#/c/19794/12/src/kudu/common/partition_pruner.cc
File src/kudu/common/partition_pruner.cc:

http://gerrit.cloudera.org:8080/#/c/19794/12/src/kudu/common/partition_pruner.cc@204
PS12, Line 204:   // A combination of the predicate values is selected to 
compute the hash buckets.
> Could you please add some comments to describe what do 'predicate_values_pi
Done


http://gerrit.cloudera.org:8080/#/c/19794/12/src/kudu/common/partition_pruner.cc@206
PS12, Line 206:   
predicate_values_selected.reserve(hash_dimension.column_ids.size());
> nit: rename to 'hash_bucket_selected' ?
Done


http://gerrit.cloudera.org:8080/#/c/19794/12/src/kudu/common/partition_pruner.cc@219
PS12, Line 219:
> How about renaming it closer to what it stands for? Like 'all_hash_bucket_n
Done


http://gerrit.cloudera.org:8080/#/c/19794/12/src/kudu/common/partition_pruner.cc@224
PS12, Line 224: all_hash_bucket_needed = true;
> If it has a more meaningful name, I gusee these comments can be omitted?
Removed.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie4bea5c10b4ac2c62b85625fe9d2a33ceb4fb2e9
Gerrit-Change-Number: 19794
Gerrit-PatchSet: 13
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Tue, 13 Jun 2023 08:55:57 +
Gerrit-HasComments: Yes


[kudu-CR] [cpp-client] KUDU-3455 Reduce space complexity and speed up hash partition pruning for in-list predicate

2023-06-13 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Alexey Serbin, Ashwani Raina, Yingchun Lai, Yifan Zhang, Kudu 
Jenkins, Abhishek Chennaka, KeDeng, Wang Xixu,

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

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

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

Change subject: [cpp-client] KUDU-3455 Reduce space complexity and speed up 
hash partition pruning for in-list predicate
..

[cpp-client] KUDU-3455 Reduce space complexity and speed up hash partition 
pruning for in-list predicate

This patch comes from a committed patch, its committed id is 'b69dbeb'. As that
patch said, logic of pruning hash partitions for in-list predicate in Kudu cpp
client has also a high space complexity and slow. Old algorithm must keep
all intermedium objects because they are incomplete until they are
completed and can be computed hash.

This patch fixes the problems and provides a recursive algorithm the
same as the one used by java client.

Compared with java client, the cpp client is less likely to cause the
OOM condition because it does not keep too many intermediate results.
This optimization has good benefits too. The benefits are related to
the in-list length and the number of primary keys, the performance
would be better if in-list length is longer. For example,
PartitionPrunerTest::TestMultiColumnInListHashPruningManyValues,
using 10 key columns and kMaxInListLength=50, old algorithm memory cost
may reach 600MB, while new algorithm's memory cost can be ignored
(it only need one objects and a few stacks for contexts). At the same
time, new algorithm has a good speedup, some effect as below:

combination_count: 555400692, old cost: 428238us, new cost: 713us, speedup: 
600.6x
combination_count: 89083783664568, old cost: 2764924us, new cost: 1145us, 
speedup: 2414.7x
combination_count: 27194091724800, old cost: 1610475us, new cost: 1151us, 
speedup: 1399.2x
combination_count: 7116622216704, old cost: 34544289us, new cost: 375us, 
speedup: 92118.1x
combination_count: 37570734489600, old cost: 1733205us, new cost: 901us, 
speedup: 1923.6x

Change-Id: Ie4bea5c10b4ac2c62b85625fe9d2a33ceb4fb2e9
---
M src/kudu/common/partition_pruner-test.cc
M src/kudu/common/partition_pruner.cc
M src/kudu/common/partition_pruner.h
3 files changed, 245 insertions(+), 19 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ie4bea5c10b4ac2c62b85625fe9d2a33ceb4fb2e9
Gerrit-Change-Number: 19794
Gerrit-PatchSet: 13
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] KUDU-3371 [fs] make LogBlockContainer a base class

2023-06-08 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19610 )

Change subject: KUDU-3371 [fs] make LogBlockContainer a base class
..


Patch Set 4: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ieb199de95973aaeba76947ad095907272d84ca67
Gerrit-Change-Number: 19610
Gerrit-PatchSet: 4
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: Attila Bukor 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Thu, 08 Jun 2023 10:15:41 +
Gerrit-HasComments: No


[kudu-CR] [cpp-client] KUDU-3455 Reduce space complexity and speed up hash partition pruning for in-list predicate

2023-06-06 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19794 )

Change subject: [cpp-client] KUDU-3455 Reduce space complexity and speed up 
hash partition pruning for in-list predicate
..


Patch Set 12: Verified+1

(4 comments)

http://gerrit.cloudera.org:8080/#/c/19794/11//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/19794/11//COMMIT_MSG@16
PS11, Line 16: the one used by java
> nit: the one used by java client
Done


http://gerrit.cloudera.org:8080/#/c/19794/11/src/kudu/common/partition_pruner-test.cc
File src/kudu/common/partition_pruner-test.cc:

http://gerrit.cloudera.org:8080/#/c/19794/11/src/kudu/common/partition_pruner-test.cc@1081
PS11, Line 1081: temp_values.push_back(t_value);
   : test_case.push_back(reinterpret_cast(_values[temp_values.size() - 1]));
> Can this be simplified to 'test_case.push_back(reinterpret_casthttp://gerrit.cloudera.org:8080/#/c/19794/11/src/kudu/common/partition_pruner-test.cc@1091
PS11, Line 1091: for (int i = 0; i < kKeyColumnSize; i++) {
   :   
predicates.emplace_back(ColumnPredicate::InList(schema.column(i), 
_cases[i]));
   : }
> Maybe this can be moved to the for loop at L1079? And then the 'test_cases'
Can not move it.

The purpose of  lines L1075-L1087 is generating the test_cases,   and 
L1091-1093 use this cases to generator predicates.


http://gerrit.cloudera.org:8080/#/c/19794/11/src/kudu/common/partition_pruner.cc
File src/kudu/common/partition_pruner.cc:

http://gerrit.cloudera.org:8080/#/c/19794/11/src/kudu/common/partition_pruner.cc@224
PS11, Line 224: // All bits in the bitset have been set, we should keep all 
partitions for
> nit: Need to document this short circuit condition.
DONE. Add a comment for this.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie4bea5c10b4ac2c62b85625fe9d2a33ceb4fb2e9
Gerrit-Change-Number: 19794
Gerrit-PatchSet: 12
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Wed, 07 Jun 2023 02:47:02 +
Gerrit-HasComments: Yes


[kudu-CR] [cpp-client] KUDU-3455 Reduce space complexity and speed up hash partition pruning for in-list predicate

2023-06-06 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Alexey Serbin, Ashwani Raina, Yingchun Lai, Yifan Zhang, Kudu 
Jenkins, Abhishek Chennaka, KeDeng, Wang Xixu,

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

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

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

Change subject: [cpp-client] KUDU-3455 Reduce space complexity and speed up 
hash partition pruning for in-list predicate
..

[cpp-client] KUDU-3455 Reduce space complexity and speed up hash partition 
pruning for in-list predicate

This patch comes from a committed patch, its committed id is 'b69dbeb'. As that
patch said, logic of pruning hash partitions for in-list predicate in Kudu cpp
client has also a high space complexity and slow. Old algorithm must keep
all intermedium objects because they are incomplete until they are
completed and can be computed hash.

This patch fixes the problems and provides a recursive algorithm the
same as the one used by java client.

Compared with java client, the cpp client is less likely to cause the
OOM condition because it does not keep too many intermediate results.
This optimization has good benefits too. The benefits are related to
the in-list length and the number of primary keys, the performance
would be better if in-list length is longer. For example,
PartitionPrunerTest::TestMultiColumnInListHashPruningManyValues,
using 10 key columns and kMaxInListLength=50, old algorithm memory cost
may reach 600MB, while new algorithm's memory cost can be ignored
(it only need one objects and a few stacks for contexts). At the same
time, new algorithm has a good speedup, some effect as below:

combination_count: 555400692, old cost: 428238us, new cost: 713us, speedup: 
600.6x
combination_count: 89083783664568, old cost: 2764924us, new cost: 1145us, 
speedup: 2414.7x
combination_count: 27194091724800, old cost: 1610475us, new cost: 1151us, 
speedup: 1399.2x
combination_count: 7116622216704, old cost: 34544289us, new cost: 375us, 
speedup: 92118.1x
combination_count: 37570734489600, old cost: 1733205us, new cost: 901us, 
speedup: 1923.6x

Change-Id: Ie4bea5c10b4ac2c62b85625fe9d2a33ceb4fb2e9
---
M src/kudu/common/partition_pruner-test.cc
M src/kudu/common/partition_pruner.cc
M src/kudu/common/partition_pruner.h
3 files changed, 240 insertions(+), 19 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ie4bea5c10b4ac2c62b85625fe9d2a33ceb4fb2e9
Gerrit-Change-Number: 19794
Gerrit-PatchSet: 12
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [tools] remove the duplicated function GetReplicas

2023-06-02 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19998 )

Change subject: [tools] remove the duplicated function GetReplicas
..


Patch Set 1: Code-Review+2

LGTM


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I069997fa566d70fccf6df3f3decd1aa990417048
Gerrit-Change-Number: 19998
Gerrit-PatchSet: 1
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Fri, 02 Jun 2023 10:05:53 +
Gerrit-HasComments: No


[kudu-CR] [KUDU-3483] Fixbug of auto flush data when table schema changed

2023-06-02 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19949 )

Change subject: [KUDU-3483] Fixbug of auto flush data when table schema changed
..


Patch Set 3:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/19949/3//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/19949/3//COMMIT_MSG@20
PS3, Line 20: This patch will validate the schema of multiple rows which belong
: to the same tablet. If the schema is different, it puts them into
: the different groups as different batches.
> Great! This bug  is a serious problem. This way seems ok and there is somet
I have found another need a common schema when sending a write batch rpc.

```
  static Tserver.WriteRequestPB.Builder 
createAndFillWriteRequestPB(List operations) {

Schema schema = operations.get(0).table.getSchema();
Tserver.WriteRequestPB.Builder requestBuilder = 
Tserver.WriteRequestPB.newBuilder();
requestBuilder.setSchema(ProtobufHelper.schemaToPb(schema,
EnumSet.of(SchemaPBConversionFlags.SCHEMA_PB_WITHOUT_COMMENT,
   SchemaPBConversionFlags.SCHEMA_PB_WITHOUT_ID)));

```

If there are two different schemas, it is an error schema for some ops. So this 
method may not be ok. I'll think it again.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie6501962b32814d121f180b2942999c402d927db
Gerrit-Change-Number: 19949
Gerrit-PatchSet: 3
Gerrit-Owner: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Fri, 02 Jun 2023 07:19:33 +
Gerrit-HasComments: Yes


[kudu-CR] [KUDU-3483] Fixbug of auto flush data when table schema changed

2023-06-01 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19949 )

Change subject: [KUDU-3483] Fixbug of auto flush data when table schema changed
..


Patch Set 3:

(5 comments)

http://gerrit.cloudera.org:8080/#/c/19949/3//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/19949/3//COMMIT_MSG@21
PS3, Line 21: the
a


http://gerrit.cloudera.org:8080/#/c/19949/3//COMMIT_MSG@20
PS3, Line 20: This patch will validate the schema of multiple rows which belong
: to the same tablet. If the schema is different, it puts them into
: the different groups as different batches.
Great! This bug  is a serious problem. This way seems ok and there is something 
worried. I comment this at other comment.

I reviewed what you say, and provide another way to fix this bug. You can 
review and considering it whether it is ok, like this:
```
// OperationsEncoder in Operation.java.


private void init(List operations) {
  int rowsSize = 0;
  int indirectSize = 0;
  for (Operation op : operations) {
Schema schema = op.table.getSchema();
final int columnBitSetSize = 
Bytes.getBitSetSize(schema.getColumnCount());
int sizePerRow = 1 /* for the op type */ + schema.getRowSize() + 
columnBitSetSize;
if (schema.hasNullableColumns()) {
  // nullsBitSet is the same size as the columnBitSet
  sizePerRow += columnBitSetSize;
}
rowsSize += sizePerRow;
indirectSize += schema.getVarLengthColumnCount();
  }
  this.rows = ByteBuffer.allocate(rowsSize).order(ByteOrder.LITTLE_ENDIAN);
  this.indirect = new ArrayList<>(indirectSize);
}

```


http://gerrit.cloudera.org:8080/#/c/19949/3/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
File 
java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java:

http://gerrit.cloudera.org:8080/#/c/19949/3/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java@371
PS3, Line 371: Extral
I guess you mean 'Extra' ?


http://gerrit.cloudera.org:8080/#/c/19949/3/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java@372
PS3, Line 372: extral_batches
extra_batches


http://gerrit.cloudera.org:8080/#/c/19949/3/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java@419
PS3, Line 419: extral_batches
every op different from batch.operations.get(0) need a write rpc? It seems not 
good.
If this op can merge into an extra batch, it may be better.

By the way,  I am not sure a potential problem because I am not care about txn 
in kudu. I worry about this fixing way may cause another problem, there is a 
txn Id. This fixing maybe split a txn into 2 or more rpcs.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie6501962b32814d121f180b2942999c402d927db
Gerrit-Change-Number: 19949
Gerrit-PatchSet: 3
Gerrit-Owner: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Fri, 02 Jun 2023 04:14:21 +
Gerrit-HasComments: Yes


[kudu-CR] [KUDU-3483] Fixbug of auto flush data when table schema changed

2023-06-01 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19949 )

Change subject: [KUDU-3483] Fixbug of auto flush data when table schema changed
..


Patch Set 1:

(4 comments)

http://gerrit.cloudera.org:8080/#/c/19949/1//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/19949/1//COMMIT_MSG@7
PS1, Line 7: [KUDU-3483]
as kudu's style, this would be better:
[java-client] KUDU-3483 ...


http://gerrit.cloudera.org:8080/#/c/19949/1//COMMIT_MSG@12
PS1, Line 12: server
nit: servers


http://gerrit.cloudera.org:8080/#/c/19949/1//COMMIT_MSG@16
PS1, Line 16: has
nit: have


http://gerrit.cloudera.org:8080/#/c/19949/1/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java
File 
java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java:

http://gerrit.cloudera.org:8080/#/c/19949/1/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduSession.java@411
PS1, Line 411: diffrent
nit: different



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie6501962b32814d121f180b2942999c402d927db
Gerrit-Change-Number: 19949
Gerrit-PatchSet: 1
Gerrit-Owner: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Fri, 02 Jun 2023 03:04:08 +
Gerrit-HasComments: Yes


[kudu-CR](branch-1.17.x) [tests] fix flakiness in TestNoMoreRetryWithWongServerUuid

2023-05-30 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19947 )

Change subject: [tests] fix flakiness in TestNoMoreRetryWithWongServerUuid
..


Patch Set 1: Code-Review+1


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

Gerrit-Project: kudu
Gerrit-Branch: branch-1.17.x
Gerrit-MessageType: comment
Gerrit-Change-Id: I3d3dee89b32d1e33d1f0f41e8b83835b02eae336
Gerrit-Change-Number: 19947
Gerrit-PatchSet: 1
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Wed, 31 May 2023 02:53:06 +
Gerrit-HasComments: No


[kudu-CR](branch-1.17.x) KUDU-3248 improve replica selection initialization

2023-05-30 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19948 )

Change subject: KUDU-3248 improve replica selection initialization
..


Patch Set 1: Code-Review+1


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

Gerrit-Project: kudu
Gerrit-Branch: branch-1.17.x
Gerrit-MessageType: comment
Gerrit-Change-Id: I11c2a29ef69a8c97c68330d261fdff64accebb0b
Gerrit-Change-Number: 19948
Gerrit-PatchSet: 1
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wenzhe Zhou 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Wed, 31 May 2023 02:53:35 +
Gerrit-HasComments: No


[kudu-CR](branch-1.17.x) [client] fix clang warning

2023-05-30 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19946 )

Change subject: [client] fix clang warning
..


Patch Set 1: Code-Review+1


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

Gerrit-Project: kudu
Gerrit-Branch: branch-1.17.x
Gerrit-MessageType: comment
Gerrit-Change-Id: Iae586b683e06a6af1e44c9859769309d3b6a1a94
Gerrit-Change-Number: 19946
Gerrit-PatchSet: 1
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Wed, 31 May 2023 02:52:46 +
Gerrit-HasComments: No


[kudu-CR](branch-1.17.x) [util] use include guard macro in int128.h header

2023-05-30 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19945 )

Change subject: [util] use include guard macro in int128.h header
..


Patch Set 1: Code-Review+1


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

Gerrit-Project: kudu
Gerrit-Branch: branch-1.17.x
Gerrit-MessageType: comment
Gerrit-Change-Id: Ica18bbdc8eff034965e1a69404df2180cacf7bb4
Gerrit-Change-Number: 19945
Gerrit-PatchSet: 1
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Wed, 31 May 2023 02:52:26 +
Gerrit-HasComments: No


[kudu-CR] [duplication] KUDU-3290 add 3rd-party libraries

2023-05-30 Thread Yuqi Du (Code Review)
Hello Alexey Serbin, Kudu Jenkins,

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

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

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

Change subject: [duplication] KUDU-3290 add 3rd-party libraries
..

[duplication] KUDU-3290 add 3rd-party libraries

This patch is the first patch for duplication, adding 2
3rd-party libraries: cppkafka, librdkafka.
librdkfka supports c language apis to operate kafka, and
cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

For easy review, Split this ‘kudu duplication’ patch into several
small independent patches:
1. add 3rd-party libraries, introduce librdkafka, cppkafka
2. Add duplication engine, support write to kafka
3. Add a new raft role Duplicator and raft processing
4. creating/altering in server-side for duplication
5. recovering duplication when a leader switches
6. cpp client apis and CLI tool
7. java client apis
8. suppports kerberos
9. alter a duplication
10. register kafka, unregister kafka and validate

During this progressing, plans maybe adjust according to advices.

Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/vars.sh
7 files changed, 169 insertions(+), 0 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
Gerrit-Change-Number: 19909
Gerrit-PatchSet: 2
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [duplication] KUDU-3290 add thirdparty libraries

2023-05-30 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19909 )

Change subject: [duplication] KUDU-3290 add thirdparty libraries
..


Patch Set 1:

(1 comment)

> Patch Set 1:
>
> (1 comment)

http://gerrit.cloudera.org:8080/#/c/19909/1//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/19909/1//COMMIT_MSG@26
PS1, Line 26: During this progressing, plans maybe adjust according to advices.
> I guess the very first step should be publishing a design document and aski
Ok.

There is a document in jira KUDU-3290.
https://docs.google.com/document/d/1ihqPFO1vulpYDYYKcHmhes0LCOXKQtdAf5ub0y2LiaM/edit#

It's not marked, so I add it in the first line, and I fix this document again, 
and you can review it.
Of course, I  have sent this design document  to d...@kudu.apache.org to 
collect advices.

About 3rd-party library, yes, you are right. This patch can stay here not 
commit,  I will submit next patches based this patch. All patches may take long 
time, so now it's not  urgent to commit to kudu. We can review them first and 
commit this patch when necessary.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
Gerrit-Change-Number: 19909
Gerrit-PatchSet: 1
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Tue, 30 May 2023 09:52:37 +
Gerrit-HasComments: Yes


[kudu-CR] [tool] Fix outputs 'kudu pbc dump instance' when using -json/-json pretty

2023-05-29 Thread Yuqi Du (Code Review)
Hello Alexey Serbin, Ashwani Raina, Yingchun Lai, Yifan Zhang, Kudu Jenkins, 
Abhishek Chennaka, KeDeng, Wang Xixu,

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

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

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

Change subject: [tool] Fix outputs 'kudu pbc dump instance' when using 
-json/-json_pretty
..

[tool] Fix outputs 'kudu pbc dump instance' when using -json/-json_pretty

The two commands below:
1. kudu pbc dump xxx/instance -debug/default
2. kudu pbc dump xxx/instance -json/-json_pretty
These two commands' outputs about the 'uuid' field are not the same, because
the type of 'uuid' is bytes and protobuf's bytes type is base64 encoded.
'--debug/default' mode shows uuid's plain text while '--debug/default'
mode uses protobuf's apis and shows base64 encoded text.

This patch fixes this problem.

Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
---
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/tool_action_pbc.cc
M src/kudu/util/easy_json.cc
M src/kudu/util/easy_json.h
M src/kudu/util/pb_util.cc
M src/kudu/util/pb_util.h
6 files changed, 75 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/30/18330/14
--
To view, visit http://gerrit.cloudera.org:8080/18330
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
Gerrit-Change-Number: 18330
Gerrit-PatchSet: 14
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 


[kudu-CR](branch-1.17.x) [master] Exclude tservers in MAINTENANCE MODE when leader rebalancing

2023-05-26 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19923 )

Change subject: [master] Exclude tservers in MAINTENANCE_MODE when leader 
rebalancing
..


Patch Set 2: Code-Review+1


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

Gerrit-Project: kudu
Gerrit-Branch: branch-1.17.x
Gerrit-MessageType: comment
Gerrit-Change-Id: I2f85a675e69fd02a62e2625881dad2ca5e27acd9
Gerrit-Change-Number: 19923
Gerrit-PatchSet: 2
Gerrit-Owner: Yingchun Lai 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Fri, 26 May 2023 06:45:11 +
Gerrit-HasComments: No


[kudu-CR] [tool] Fix outputs 'kudu pbc dump instance' when using -json/-json pretty

2023-05-23 Thread Yuqi Du (Code Review)
Hello Alexey Serbin, Ashwani Raina, Yingchun Lai, Yifan Zhang, Kudu Jenkins, 
Abhishek Chennaka, KeDeng, Wang Xixu,

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

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

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

Change subject: [tool] Fix outputs 'kudu pbc dump instance' when using 
-json/-json_pretty
..

[tool] Fix outputs 'kudu pbc dump instance' when using -json/-json_pretty

The two commands below:
1. kudu pbc dump xxx/instance -debug/default
2. kudu pbc dump xxx/instance -json/-json_pretty
These two commands' outputs about the 'uuid' field are not the same, because
the type of 'uuid' is bytes and protobuf's bytes type is base64 encoded.
'--debug/default' mode shows uuid's plain text while '--debug/default'
mode uses protobuf's apis and shows base64 encoded text.

This patch fixes this problem.

Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
---
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/tool_action_pbc.cc
M src/kudu/util/easy_json.cc
M src/kudu/util/easy_json.h
M src/kudu/util/pb_util.cc
M src/kudu/util/pb_util.h
6 files changed, 75 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/30/18330/13
--
To view, visit http://gerrit.cloudera.org:8080/18330
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
Gerrit-Change-Number: 18330
Gerrit-PatchSet: 13
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [ut] Add '--log cleanup interval sec' flag and speedup an unit test

2023-05-23 Thread Yuqi Du (Code Review)
Hello Kudu Jenkins, KeDeng,

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

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

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

Change subject: [ut] Add '--log_cleanup_interval_sec' flag and speedup an unit 
test
..

[ut] Add '--log_cleanup_interval_sec' flag and speedup an unit test

LogRollingITest.TestLogCleanupOnStartup is a little slow, it takes 116s or so.

This patch try to speed up this test and avoid coredump when flushing logs
asynchronously. Adding '--log_cleanup_interval_sec' flag replaces the magic
number kWait(60s), set it 6s in the unit test. It takes half(56s) of
original time(116s). This new flag can be changed at runtime if needed.

Independent related works before this patch:
1. https://gerrit.cloudera.org/c/19842/, this patch has merged and solved
this unsteady unit test. This is an original aim of this patch.
2. https://gerrit.cloudera.org/c/19871/ by KeDeng, this patch has same idea
with this patch, it's abandoned by KeDeng because of ut may be fail. By
KeDeng' reminder, This patch fixed this potential problem.

Change-Id: Ib2be9f88c5d47bc889a4711f5aa2143b8288ba60
---
M src/kudu/integration-tests/log-rolling-itest.cc
M src/kudu/server/server_base.cc
2 files changed, 18 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/15/19915/3
--
To view, visit http://gerrit.cloudera.org:8080/19915
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ib2be9f88c5d47bc889a4711f5aa2143b8288ba60
Gerrit-Change-Number: 19915
Gerrit-PatchSet: 3
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [ut] Fix an unsteady unit test

2023-05-23 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19915 )

Change subject: [ut] Fix an unsteady unit test
..


Patch Set 2:

> Patch Set 1:
>
> I submitted similar modifications 
> before,https://gerrit.cloudera.org/#/c/19871/.
>
> As Mahesh Reddy said in the reviews, this modification can still cause errors 
> during multiple tests.

Thanks for your advice. I have study your case. And indeed your fix 
unfortunately, encountering another problem because of interval 3s, it's so 
small and cause coredump. If you set >= 5s. I have written details in comments.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib2be9f88c5d47bc889a4711f5aa2143b8288ba60
Gerrit-Change-Number: 19915
Gerrit-PatchSet: 2
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Wed, 24 May 2023 03:46:57 +
Gerrit-HasComments: No


[kudu-CR] [ut] Fix an unsteady unit test

2023-05-23 Thread Yuqi Du (Code Review)
Hello Kudu Jenkins, KeDeng,

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

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

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

Change subject: [ut] Fix an unsteady unit test
..

[ut] Fix an unsteady unit test

LogRollingITest.TestLogCleanupOnStartup is a little unsteady.
Because Deleting logs every 60s(kWait), but in this test, it may wait
30s(ASSERT_EVENTUALLY) at most.

This patch fix it. Meanwhile, try to speed up this test, it takes
half(56s) of original time(116s). Using FLAGS_log_cleanup_interval_sec
replace the magic number kWait and it can be changed at runtime.

Change-Id: Ib2be9f88c5d47bc889a4711f5aa2143b8288ba60
---
M src/kudu/integration-tests/log-rolling-itest.cc
M src/kudu/server/server_base.cc
2 files changed, 12 insertions(+), 5 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ib2be9f88c5d47bc889a4711f5aa2143b8288ba60
Gerrit-Change-Number: 19915
Gerrit-PatchSet: 2
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)


[kudu-CR] [ut] Fix an unsteady unit test

2023-05-23 Thread Yuqi Du (Code Review)
Yuqi Du has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/19915


Change subject: [ut] Fix an unsteady unit test
..

[ut] Fix an unsteady unit test

I found ut: LogRollingITest.TestLogCleanupOnStartup is a little
unsteady. Delete logs every 30s, but in this test, it may wait
30s at most.

This patch fix it and try to speed up this test.

Change-Id: Ib2be9f88c5d47bc889a4711f5aa2143b8288ba60
---
M src/kudu/integration-tests/log-rolling-itest.cc
M src/kudu/server/server_base.cc
2 files changed, 15 insertions(+), 6 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib2be9f88c5d47bc889a4711f5aa2143b8288ba60
Gerrit-Change-Number: 19915
Gerrit-PatchSet: 1
Gerrit-Owner: Yuqi Du 


[kudu-CR] [tool] Fix outputs 'kudu pbc dump instance' when using -json/-json pretty

2023-05-22 Thread Yuqi Du (Code Review)
Hello Yingchun Lai, Yifan Zhang, Kudu Jenkins,

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

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

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

Change subject: [tool] Fix outputs 'kudu pbc dump instance' when using 
-json/-json_pretty
..

[tool] Fix outputs 'kudu pbc dump instance' when using -json/-json_pretty

The two commands below:
1. kudu pbc dump xxx/instance -debug/default
2. kudu pbc dump xxx/instance -json/-json_pretty
These two commands' outputs about the 'uuid' field are not the same, because
the type of 'uuid' is bytes and protobuf's bytes type is base64 encoded.
'--debug/default' mode shows uuid's plain text while '--debug/default'
mode uses protobuf's apis and shows base64 encoded text.

This patch fixes this problem.

Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
---
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/tool_action_pbc.cc
M src/kudu/util/easy_json.cc
M src/kudu/util/easy_json.h
M src/kudu/util/pb_util.cc
M src/kudu/util/pb_util.h
6 files changed, 75 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/30/18330/11
--
To view, visit http://gerrit.cloudera.org:8080/18330
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
Gerrit-Change-Number: 18330
Gerrit-PatchSet: 11
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [tool] Fix outputs 'kudu pbc dump instance' when using -json/-json pretty

2023-05-22 Thread Yuqi Du (Code Review)
Hello Yingchun Lai, Yifan Zhang, Kudu Jenkins,

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

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

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

Change subject: [tool] Fix outputs 'kudu pbc dump instance' when using 
-json/-json_pretty
..

[tool] Fix outputs 'kudu pbc dump instance' when using -json/-json_pretty

The two commands below:
1. kudu pbc dump xxx/instance -debug/default
2. kudu pbc dump xxx/instance -json/-json_pretty
These two commands' outputs about the 'uuid' field are not the same, because
the type of 'uuid' is bytes and protobuf's bytes type is base64 encoded.
'--debug/default' mode shows uuid's plain text while '--debug/default'
mode uses protobuf's apis and shows base64 encoded text.

This patch fixes this problem.

Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
---
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/tool_action_pbc.cc
M src/kudu/util/easy_json.cc
M src/kudu/util/easy_json.h
M src/kudu/util/pb_util.cc
M src/kudu/util/pb_util.h
6 files changed, 77 insertions(+), 21 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
Gerrit-Change-Number: 18330
Gerrit-PatchSet: 9
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [tool] Fix outputs 'kudu pbc dump instance' when using -json/-json pretty

2023-05-22 Thread Yuqi Du (Code Review)
Hello Yingchun Lai, Yifan Zhang, Kudu Jenkins,

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

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

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

Change subject: [tool] Fix outputs 'kudu pbc dump instance' when using 
-json/-json_pretty
..

[tool] Fix outputs 'kudu pbc dump instance' when using -json/-json_pretty

The two commands below:
kudu pbc dump xxx/instance -debug
kudu pbc dump xxx/instance -json/-json_pretty
These two commands' outputs, the uuid is not the same, because uuid is bytes
and pb' bytes is base64 encoded.

This patch fixes this problem.

Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
---
M src/kudu/tools/kudu-tool-test.cc
M src/kudu/tools/tool_action_pbc.cc
M src/kudu/util/easy_json.cc
M src/kudu/util/easy_json.h
M src/kudu/util/pb_util.cc
M src/kudu/util/pb_util.h
6 files changed, 77 insertions(+), 21 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia21afb03d9b7b4b2d4ea5aaa642701451282bebf
Gerrit-Change-Number: 18330
Gerrit-PatchSet: 8
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [cpp-client] KUDU-3455 Reduce space complexity and speed up hash partition pruning for in-list predicate

2023-05-22 Thread Yuqi Du (Code Review)
Yuqi Du has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/19794 )

Change subject: [cpp-client] KUDU-3455 Reduce space complexity and speed up 
hash partition pruning for in-list predicate
..


Patch Set 9: Code-Review+1

(2 comments)

Thanks for your advices.

http://gerrit.cloudera.org:8080/#/c/19794/9/src/kudu/common/partition_pruner.h
File src/kudu/common/partition_pruner.h:

http://gerrit.cloudera.org:8080/#/c/19794/9/src/kudu/common/partition_pruner.h@95
PS9, Line 95:   // hash_bucket_bitset saves the hash buckets result.
> nit: the result is stored in hash_bucket_bitset
Done


http://gerrit.cloudera.org:8080/#/c/19794/9/src/kudu/common/partition_pruner.cc
File src/kudu/common/partition_pruner.cc:

http://gerrit.cloudera.org:8080/#/c/19794/9/src/kudu/common/partition_pruner.cc@243
PS9, Line 243:   CHECK_LT(level, predicate_values_list.size());
> CHECK_LT is used in release mode. Are there assertion similar used in debug
Done



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie4bea5c10b4ac2c62b85625fe9d2a33ceb4fb2e9
Gerrit-Change-Number: 19794
Gerrit-PatchSet: 9
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 
Gerrit-Comment-Date: Mon, 22 May 2023 07:27:23 +
Gerrit-HasComments: Yes


[kudu-CR] [cpp-client] KUDU-3455 Reduce space complexity and speed up hash partition pruning for in-list predicate

2023-05-22 Thread Yuqi Du (Code Review)
Hello Tidy Bot, Alexey Serbin, Ashwani Raina, Yingchun Lai, Yifan Zhang, Kudu 
Jenkins, Abhishek Chennaka, KeDeng, Wang Xixu,

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

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

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

Change subject: [cpp-client] KUDU-3455 Reduce space complexity and speed up 
hash partition pruning for in-list predicate
..

[cpp-client] KUDU-3455 Reduce space complexity and speed up hash partition 
pruning for in-list predicate

This patch comes from a committed patch, its committed id is 'b69dbeb'. As that
patch said, logic of pruning hash partitions for in-list predicate in Kudu cpp
client has also a high space complexity and slow. Old algorithm must keep
all intermedium objects because they are incomplete until they are
completed and can be computed hash.

This patch fixes the problems and provides a recursive algorithm the
same as one using java client.

Compared with java client, the cpp client is less likely to cause the
OOM condition because it does not keep too many intermediate results.
This optimization has good benefits too. The benefits are related to
the in-list length and the number of primary keys, the performance
would be better if in-list length is longer. For example,
PartitionPrunerTest::TestMultiColumnInListHashPruningManyValues,
using 10 key columns and kMaxInListLength=50, old algorithm memory cost
may reach 600MB, while new algorithm's memory cost can be ignored
(it only need one objects and a few stacks for contexts). At the same
time, new algorithm has a good speedup, some effect as below:

combination_count: 555400692, old cost: 428238us, new cost: 713us, speedup: 
600.6x
combination_count: 89083783664568, old cost: 2764924us, new cost: 1145us, 
speedup: 2414.7x
combination_count: 27194091724800, old cost: 1610475us, new cost: 1151us, 
speedup: 1399.2x
combination_count: 7116622216704, old cost: 34544289us, new cost: 375us, 
speedup: 92118.1x
combination_count: 37570734489600, old cost: 1733205us, new cost: 901us, 
speedup: 1923.6x

Change-Id: Ie4bea5c10b4ac2c62b85625fe9d2a33ceb4fb2e9
---
M src/kudu/common/partition_pruner-test.cc
M src/kudu/common/partition_pruner.cc
M src/kudu/common/partition_pruner.h
3 files changed, 238 insertions(+), 19 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ie4bea5c10b4ac2c62b85625fe9d2a33ceb4fb2e9
Gerrit-Change-Number: 19794
Gerrit-PatchSet: 10
Gerrit-Owner: Yuqi Du 
Gerrit-Reviewer: Abhishek Chennaka 
Gerrit-Reviewer: Alexey Serbin 
Gerrit-Reviewer: Ashwani Raina 
Gerrit-Reviewer: KeDeng 
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Wang Xixu <1450306...@qq.com>
Gerrit-Reviewer: Yifan Zhang 
Gerrit-Reviewer: Yingchun Lai 
Gerrit-Reviewer: Yuqi Du 


[kudu-CR] [duplication] KUDU-3290 add thirdparty libraries

2023-05-22 Thread Yuqi Du (Code Review)
Yuqi Du has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/19909


Change subject: [duplication] KUDU-3290 add thirdparty libraries
..

[duplication] KUDU-3290 add thirdparty libraries

This patch is the first patch for duplication, adding 2
thirdparty libraries: cppkafka, librdkafka.
librdkfka supports c language apis to operate kafka, and
cppkafka is a C++ wrapper for librdkakfa, its an api sugger.

As my plans, I will commit about 9 commits for duplication.
1. add thirdparty libraries
2. write to kafka
3. new raft role Duplicator and raft processing
4. registe kafka uri and validate and unregiste
5. recovering duplication when a leader switches
6. creating/altering in server-side for duplication
6. cpp client apis and CLI tool
7. java client apis
8. suppports kerberos
9. alter a duplication

During this progressing, plans maybe adjust according to advices.

Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
---
M CMakeLists.txt
A cmake_modules/FindCppKafka.cmake
A cmake_modules/FindRdKafka.cmake
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/vars.sh
7 files changed, 169 insertions(+), 0 deletions(-)



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Icbd5738a61d2521b363c628f88e3699879920a49
Gerrit-Change-Number: 19909
Gerrit-PatchSet: 1
Gerrit-Owner: Yuqi Du 


  1   2   3   4   5   6   7   8   9   >