apache / apache/iotdb

`contain` function might not suitable to assert that "local node is in partitionTables"

Đang mở
#5,600 1 bình luận 1 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Java
Star
6.4k
Fork
1.2k
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
115

Mô tả

**Describe the bug**

After updating 0.12.4 to 0.13.0, I make a mistake and run start-server rather than start-node.

Then I see an error: `All nodes in partitionTables must contain local node in start-server mode. `

Which appeared in line 416 https://github.com/apache/iotdb/blob/ac51b0802ac5d016f028fbfe829f8b8ab530740e/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java#L411-L423

I checked the error log and find that the node has only one parameter which is different from nodes in `metaGroupMember`, `nodeIdentifier`.

In https://github.com/apache/iotdb/blob/ac51b0802ac5d016f028fbfe829f8b8ab530740e/cluster/src/main/java/org/apache/iotdb/cluster/utils/ClusterNode.java#L56-L62

I got `nodeIdentifier` is not parameter which should be the same. And I cannot find any place to change it, it's used for thrift. But is it necessary to keep the parameter `nodeIdentifier` the same?

If not, `contain` function might be rewritten。

**To Reproduce**
Am not really make sure this process will reproduce but am sure to get this error with the following procedure.
1. run start-cluster, then close it
2. run start-server, then close it
3. run start-cluster
4. See error

**Expected behavior**
This node should have been contained in all nodes, although nodeIdentifier is different.

**Desktop (please complete the following information):**
- OS: CentOS7
- Version 0.13.0

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Đọc kiểm tra containment trong cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java quanh các dòng 411-423 và các trường node trong cluster/src/main/java/org/apache/iotdb/cluster/utils/ClusterNode.java quanh các dòng 56-62. Tái hiện chuỗi thao tác khởi động và đóng cluster và server đã được báo cáo, sau đó xác định liệu các giá trị nodeIdentifier khác nhau có vẫn phải thỏa mãn kiểm tra containment hay không. Được xem là hoàn tất khi lỗi start-server đã được báo cáo không còn từ chối trạng thái node hợp lệ này.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java
Lĩnh vực
databases, distributed-systems
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
28/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.