`contain` function might not suitable to assert that "local node is in partitionTables"
- 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
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