This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch rel/0.13
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/rel/0.13 by this push:
new 6745a55861 fix loop linked list (#6559)
6745a55861 is described below
commit 6745a5586131063a32a0344f99af3375ea1d3874
Author: Liu Xuxin <[email protected]>
AuthorDate: Sat Jul 2 17:43:32 2022 +0800
fix loop linked list (#6559)
---
.../apache/iotdb/db/engine/storagegroup/TsFileResourceList.java | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResourceList.java
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResourceList.java
index 3446cd634e..27d7e4a579 100644
---
a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResourceList.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResourceList.java
@@ -47,6 +47,9 @@ public class TsFileResourceList implements
List<TsFileResource> {
* @param newNode the file to insert
*/
public void insertBefore(TsFileResource node, TsFileResource newNode) {
+ if (newNode.equals(node)) {
+ return;
+ }
newNode.prev = node.prev;
newNode.next = node;
if (node.prev == null) {
@@ -65,6 +68,9 @@ public class TsFileResourceList implements
List<TsFileResource> {
* @param newNode the file to insert
*/
public void insertAfter(TsFileResource node, TsFileResource newNode) {
+ if (node.equals(newNode)) {
+ return;
+ }
newNode.prev = node;
newNode.next = node.next;
if (node.next == null) {
@@ -135,7 +141,7 @@ public class TsFileResourceList implements
List<TsFileResource> {
* node's, the new node will be inserted to the tail of the list.
*/
public boolean keepOrderInsert(TsFileResource newNode) throws IOException {
- if (newNode.prev != null || newNode.next != null) {
+ if (newNode.prev != null || newNode.next != null || (count == 1 && header
== newNode)) {
// this node already in a list
return false;
}