Browse Source

Call flush before create index request (#303)

* Call flush before create index request.
Replace '==' with Objects.equals() method

Signed-off-by: ThorZilliz <biao.chen@zilliz.com>

* Revert "Call flush before create index request."

This reverts commit 1ff789fbf92f22d765bc203152751c20238e6304.

Signed-off-by: ThorZilliz <biao.chen@zilliz.com>

* Call flush before create index request
Replace '==' with Objects.equals() method

Signed-off-by: ThorZilliz <biao.chen@zilliz.com>

* Call flush before create index request.
Replace '==' with Objects.equals() method

Signed-off-by: ThorZilliz <biao.chen@zilliz.com>
ThorZilliz 3 years ago
parent
commit
37187b38d2

+ 7 - 1
src/main/java/io/milvus/client/AbstractMilvusGrpcClient.java

@@ -610,7 +610,7 @@ public abstract class AbstractMilvusGrpcClient implements MilvusClient {
                     .build();
             FlushResponse response = blockingStub().flush(flushRequest);
 
-            if (requestParam.getSyncFlush() == Boolean.TRUE) {
+            if (Objects.equals(requestParam.getSyncFlush(), Boolean.TRUE)) {
                 waitForFlush(response, requestParam.getSyncFlushWaitingInterval(),
                         requestParam.getSyncFlushWaitingTimeout());
             }
@@ -997,6 +997,12 @@ public abstract class AbstractMilvusGrpcClient implements MilvusClient {
                 extraParamList.forEach(createIndexRequestBuilder::addExtraParams);
             }
 
+            FlushRequest flushRequest = FlushRequest.newBuilder()
+                    .addCollectionNames(requestParam.getCollectionName())
+                    .build();
+            blockingStub().flush(flushRequest);
+
+
             CreateIndexRequest createIndexRequest = createIndexRequestBuilder.setCollectionName(requestParam.getCollectionName())
                     .setFieldName(requestParam.getFieldName())
                     .setIndexName(requestParam.getIndexName())

+ 2 - 1
src/main/java/io/milvus/param/collection/FlushParam.java

@@ -8,6 +8,7 @@ import lombok.Getter;
 import lombok.NonNull;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * Parameters for <code>flush</code> interface.
@@ -130,7 +131,7 @@ public class FlushParam {
                 ParamUtils.CheckNullEmptyString(name, "Collection name");
             }
 
-            if (syncFlush == Boolean.TRUE) {
+            if (Objects.equals(syncFlush, Boolean.TRUE)) {
                 if (syncFlushWaitingInterval <= 0) {
                     throw new ParamException("Sync flush waiting interval must be larger than zero");
                 } else if (syncFlushWaitingInterval > Constant.MAX_WAITING_FLUSHING_INTERVAL) {