Data Assertion Issue from Tantivy while Building Scalar Index #41867
Replies: 3 comments 16 replies
-
Which version of your milvus? |
Beta Was this translation helpful? Give feedback.
-
@rohitreddy1698 which sdk and version of sdk did you run? |
Beta Was this translation helpful? Give feedback.
-
from the log (IsStringDataType(array_column[i].get_element_type( is seems that the array column is not a string, and you are trying to create string index over it. We can not do precheck on it, becasue check all data in string need to scan the whole collection. you need to guarantee this by yourself. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
I have a collection where I have multiple fields of type Array<VarChar(65535)>[1024] , I have added a scalar index : Inverted Index on this field and while the index build has started I see errors of following type on the Index Node :
[2025/05/12 06:29:17.248 +00:00] [WARN] [indexcgowrapper/helper.go:71] ["failed to create index, C Runtime Exception: Assert \"(IsStringDataType(array_column[i].get_element_type()))\" at /workspace/source/internal/core/src/index/InvertedIndexTantivy.cpp:575\n\n"] [2025/05/12 06:29:17.248 +00:00] [WARN] [indexnode/task_index.go:319] ["failed to build index"] [clusterID=by-dev] [buildID=457240409305302803] [collection=457240409193279491] [segmentID=457240409300685969] [currentIndexVersion=6] [error="failed to create index, C Runtime Exception: Assert \"(IsStringDataType(array_column[i].get_element_type()))\" at /workspace/source/internal/core/src/index/InvertedIndexTantivy.cpp:575\n\n: segcore error[segcoreCode=2001]"] [errorVerbose="failed to create index, C Runtime Exception: Assert \"(IsStringDataType(array_column[i].get_element_type()))\" at /workspace/source/internal/core/src/index/InvertedIndexTantivy.cpp:575: segcore error[segcoreCode=2001]\n(1) attached stack trace\n -- stack trace:\n | github.com/milvus-io/milvus/pkg/util/merr.WrapErrSegcore\n | \t/workspace/source/pkg/util/merr/utils.go:1025\n | github.com/milvus-io/milvus/internal/util/indexcgowrapper.HandleCStatus\n | \t/workspace/source/internal/util/indexcgowrapper/helper.go:78\n | github.com/milvus-io/milvus/internal/util/indexcgowrapper.CreateIndex\n | \t/workspace/source/internal/util/indexcgowrapper/index.go:114\n | github.com/milvus-io/milvus/internal/indexnode.(*indexBuildTask).Execute\n | \t/workspace/source/internal/indexnode/task_index.go:314\n | github.com/milvus-io/milvus/internal/indexnode.(*TaskScheduler).processTask.func1\n | \t/workspace/source/internal/indexnode/task_scheduler.go:222\n | github.com/milvus-io/milvus/internal/indexnode.(*TaskScheduler).processTask\n | \t/workspace/source/internal/indexnode/task_scheduler.go:235\n | github.com/milvus-io/milvus/internal/indexnode.(*TaskScheduler).indexBuildLoop.func1\n | \t/workspace/source/internal/indexnode/task_scheduler.go:262\n | runtime.goexit\n | \t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.22.0.linux-amd64/src/runtime/asm_amd64.s:1695\nWraps: (2) failed to create index, C Runtime Exception: Assert \"(IsStringDataType(array_column[i].get_element_type()))\" at /workspace/source/internal/core/src/index/InvertedIndexTantivy.cpp:575\nWraps: (3) segcore error[segcoreCode=2001]\nError types: (1) *withstack.withStack (2) *errutil.withPrefix (3) merr.milvusError"] [2025/05/12 06:29:17.248 +00:00] [WARN] [indexnode/task_scheduler.go:236] ["process task failed"] [error="failed to create index, C Runtime Exception: Assert \"(IsStringDataType(array_column[i].get_element_type()))\" at /workspace/source/internal/core/src/index/InvertedIndexTantivy.cpp:575\n\n: segcore error[segcoreCode=2001]"] [errorVerbose="failed to create index, C Runtime Exception: Assert \"(IsStringDataType(array_column[i].get_element_type()))\" at /workspace/source/internal/core/src/index/InvertedIndexTantivy.cpp:575: segcore error[segcoreCode=2001]\n(1) attached stack trace\n -- stack trace:\n | github.com/milvus-io/milvus/pkg/util/merr.WrapErrSegcore\n | \t/workspace/source/pkg/util/merr/utils.go:1025\n | github.com/milvus-io/milvus/internal/util/indexcgowrapper.HandleCStatus\n | \t/workspace/source/internal/util/indexcgowrapper/helper.go:78\n | github.com/milvus-io/milvus/internal/util/indexcgowrapper.CreateIndex\n | \t/workspace/source/internal/util/indexcgowrapper/index.go:114\n | github.com/milvus-io/milvus/internal/indexnode.(*indexBuildTask).Execute\n | \t/workspace/source/internal/indexnode/task_index.go:314\n | github.com/milvus-io/milvus/internal/indexnode.(*TaskScheduler).processTask.func1\n | \t/workspace/source/internal/indexnode/task_scheduler.go:222\n | github.com/milvus-io/milvus/internal/indexnode.(*TaskScheduler).processTask\n | \t/workspace/source/internal/indexnode/task_scheduler.go:235\n | github.com/milvus-io/milvus/internal/indexnode.(*TaskScheduler).indexBuildLoop.func1\n | \t/workspace/source/internal/indexnode/task_scheduler.go:262\n | runtime.goexit\n | \t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.22.0.linux-amd64/src/runtime/asm_amd64.s:1695\nWraps: (2) failed to create index, C Runtime Exception: Assert \"(IsStringDataType(array_column[i].get_element_type()))\" at /workspace/source/internal/core/src/index/InvertedIndexTantivy.cpp:575\nWraps: (3) segcore error[segcoreCode=2001]\nError types: (1) *withstack.withStack (2) *errutil.withPrefix (3) merr.milvusError"]
Is element type validation performed for all the elements in the array during ingestion ?
Why is the DataType assertion failing because from my understanding Milvus strictly imposes the schema. So this error must have been thrown during ingestion and only and this should not be possible.
Thanks,
Rohit Mothe
Beta Was this translation helpful? Give feedback.
All reactions