Pinal Shah created ATLAS-5228:
---------------------------------
Summary: Exception index row size exceeds in
janus_key_uk_store_name when large string is indexed
Key: ATLAS-5228
URL: https://issues.apache.org/jira/browse/ATLAS-5228
Project: Atlas
Issue Type: Bug
Components: atlas-core
Reporter: Pinal Shah
Assignee: Pinal Shah
*Issue:*
Error while create table with many columns > 1000
*Exception:*
{code:java}
[NotificationHookConsumer thread-0] ERROR [RdbmsStore.java:289] attempt #1:
failed to create key(storeId=6, keyLength=14953, key=^CB CREATE TABLE
my_large_table_nx1XXX (col1 STRING,...col1000 STRING) STORED AS TEXTFIL ):
Exception [EclipseLink-4002] (Eclipse Persistence Services -
2.7.15.v20240516-53511fdbd8):
org.eclipse.persistence.exceptions.DatabaseException Internal Exception:
org.postgresql.util.PSQLException: ERROR: index row size 3328 exceeds btree
version 4 maximum 2704 for index "janus_key_uk_store_name" Detail: Index row
references tuple (188,100) in relation "janus_key". Hint: Values larger than
1/3 of a buffer page cannot be indexed. Consider a function index of an MD5
hash of the value, or use full text indexing. Error Code: 0 Call: INSERT INTO
janus_key (id, name, store_id) VALUES (?, ?, ?) bind => [3 parameters bound]
2025-08-01 16:35:26,520 [NotificationHookConsumer thread-0] ERROR
[StandardJanusGraph.java:971] Could not commit transaction [921] due to storage
exception in commit org.janusgraph.core.JanusGraphException: Could not execute
operation due to backend exception at
org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:54)
at
org.janusgraph.diskstorage.keycolumnvalue.cache.CacheTransaction.persist(CacheTransaction.java:96)
at
org.janusgraph.diskstorage.keycolumnvalue.cache.CacheTransaction.flushInternal(CacheTransaction.java:153)
at
org.janusgraph.diskstorage.keycolumnvalue.cache.CacheTransaction.commit(CacheTransaction.java:210)
at
org.janusgraph.diskstorage.BackendTransaction.commitStorage(BackendTransaction.java:149)
at
org.janusgraph.graphdb.database.StandardJanusGraph.commit(StandardJanusGraph.java:968){code}
*Root Cause:*
Limitation in Postgres: An index entry cannot exceed approximately one-third of
a page (after TOAST compression, if applicable)
[65.1. B-Tree Indexes|https://www.postgresql.org/docs/current/btree.html]
*Fix:*
Update indexed attributes which stores large string values to non indexable
--
This message was sent by Atlassian Jira
(v8.20.10#820010)