This is an automated email from the ASF dual-hosted git repository.
madhan pushed a commit to branch atlas-2.5
in repository https://gitbox.apache.org/repos/asf/atlas.git
The following commit(s) were added to refs/heads/atlas-2.5 by this push:
new 879254c03 ATLAS-5140: updated Postgres sequences to cache 1000 numbers
for faster access (#454)
879254c03 is described below
commit 879254c03d43b475a1cc02e83a3e0d1d2fa8dd45
Author: Madhan Neethiraj <[email protected]>
AuthorDate: Sun Sep 28 23:06:26 2025 -0700
ATLAS-5140: updated Postgres sequences to cache 1000 numbers for faster
access (#454)
(cherry picked from commit 9afdcfe2b85702592276b1ee72fde426c1f446f5)
---
.../diskstorage/rdbms/entity/JanusColumn.java | 5 -----
.../rdbms/entity/JanusUniqueEdgeKey.java | 5 -----
.../rdbms/entity/JanusUniqueEdgeTypeKey.java | 5 -----
.../rdbms/entity/JanusUniqueVertexKey.java | 5 -----
.../rdbms/entity/JanusUniqueVertexTypeKey.java | 5 -----
.../resources/META-INF/janus-jpa_named_queries.xml | 3 ++-
.../resources/META-INF/postgres/create_schema.sql | 22 +++++++++++-----------
.../repository/graph/GraphBackedSearchIndexer.java | 4 ++--
8 files changed, 15 insertions(+), 39 deletions(-)
diff --git
a/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusColumn.java
b/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusColumn.java
index c2b0e5359..139eff62e 100644
---
a/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusColumn.java
+++
b/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusColumn.java
@@ -21,12 +21,9 @@ package org.janusgraph.diskstorage.rdbms.entity;
import javax.persistence.Cacheable;
import javax.persistence.Column;
import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Index;
import javax.persistence.Lob;
-import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
@@ -42,8 +39,6 @@ public class JanusColumn implements java.io.Serializable {
private static final long serialVersionUID = 1L;
@Id
- @SequenceGenerator(name = "janus_column_seq", sequenceName =
"janus_column_seq", allocationSize = 1)
- @GeneratedValue(strategy = GenerationType.AUTO, generator =
"janus_column_seq")
@Column(name = "id")
protected Long id;
diff --git
a/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueEdgeKey.java
b/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueEdgeKey.java
index 36af65449..7926c547a 100644
---
a/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueEdgeKey.java
+++
b/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueEdgeKey.java
@@ -23,11 +23,8 @@ import org.eclipse.persistence.annotations.Index;
import javax.persistence.Cacheable;
import javax.persistence.Column;
import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
-import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
@@ -41,8 +38,6 @@ public class JanusUniqueEdgeKey implements
java.io.Serializable {
private static final long serialVersionUID = 1L;
@Id
- @SequenceGenerator(name = "janus_unique_edge_key_seq", sequenceName =
"janus_unique_edge_key_seq", allocationSize = 1)
- @GeneratedValue(strategy = GenerationType.AUTO, generator =
"janus_unique_edge_key_seq")
@Column(name = "id")
protected Long id;
diff --git
a/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueEdgeTypeKey.java
b/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueEdgeTypeKey.java
index 954eb72b5..12211e3aa 100644
---
a/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueEdgeTypeKey.java
+++
b/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueEdgeTypeKey.java
@@ -23,11 +23,8 @@ import org.eclipse.persistence.annotations.Index;
import javax.persistence.Cacheable;
import javax.persistence.Column;
import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
-import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
@@ -41,8 +38,6 @@ public class JanusUniqueEdgeTypeKey implements
java.io.Serializable {
private static final long serialVersionUID = 1L;
@Id
- @SequenceGenerator(name = "janus_unique_edge_type_key_seq", sequenceName =
"janus_unique_edge_type_key_seq", allocationSize = 1)
- @GeneratedValue(strategy = GenerationType.AUTO, generator =
"janus_unique_edge_type_key_seq")
@Column(name = "id")
protected Long id;
diff --git
a/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueVertexKey.java
b/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueVertexKey.java
index a20c328b6..f989f0983 100644
---
a/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueVertexKey.java
+++
b/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueVertexKey.java
@@ -23,11 +23,8 @@ import org.eclipse.persistence.annotations.Index;
import javax.persistence.Cacheable;
import javax.persistence.Column;
import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
-import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
@@ -41,8 +38,6 @@ public class JanusUniqueVertexKey implements
java.io.Serializable {
private static final long serialVersionUID = 1L;
@Id
- @SequenceGenerator(name = "janus_unique_vertex_key_seq", sequenceName =
"janus_unique_vertex_key_seq", allocationSize = 1)
- @GeneratedValue(strategy = GenerationType.AUTO, generator =
"janus_unique_vertex_key_seq")
@Column(name = "id")
protected Long id;
diff --git
a/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueVertexTypeKey.java
b/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueVertexTypeKey.java
index d3e6edb3c..7061b27b5 100644
---
a/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueVertexTypeKey.java
+++
b/graphdb/janusgraph-rdbms/src/main/java/org/janusgraph/diskstorage/rdbms/entity/JanusUniqueVertexTypeKey.java
@@ -23,11 +23,8 @@ import org.eclipse.persistence.annotations.Index;
import javax.persistence.Cacheable;
import javax.persistence.Column;
import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
-import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
@@ -41,8 +38,6 @@ public class JanusUniqueVertexTypeKey implements
java.io.Serializable {
private static final long serialVersionUID = 1L;
@Id
- @SequenceGenerator(name = "janus_unique_vertex_type_key_seq", sequenceName
= "janus_unique_vertex_type_key_seq", allocationSize = 1)
- @GeneratedValue(strategy = GenerationType.AUTO, generator =
"janus_unique_vertex_type_key_seq")
@Column(name = "id")
protected Long id;
diff --git
a/graphdb/janusgraph-rdbms/src/main/resources/META-INF/janus-jpa_named_queries.xml
b/graphdb/janusgraph-rdbms/src/main/resources/META-INF/janus-jpa_named_queries.xml
index 676277ae1..183b044cb 100644
---
a/graphdb/janusgraph-rdbms/src/main/resources/META-INF/janus-jpa_named_queries.xml
+++
b/graphdb/janusgraph-rdbms/src/main/resources/META-INF/janus-jpa_named_queries.xml
@@ -75,7 +75,8 @@
<named-query name="JanusColumn.getColumnsByKeyIdStartNameEndName">
<query>SELECT c.name, c.val
FROM JanusColumn c
- WHERE c.keyId = :keyId AND c.name >= :startName AND c.name
< :endName</query>
+ WHERE c.keyId = :keyId AND c.name >= :startName AND c.name
< :endName
+ ORDER BY c.name</query>
</named-query>
<named-query name="JanusColumn.getKeysByStoreIdColumnRange">
diff --git
a/graphdb/janusgraph-rdbms/src/main/resources/META-INF/postgres/create_schema.sql
b/graphdb/janusgraph-rdbms/src/main/resources/META-INF/postgres/create_schema.sql
index 346d92eb6..1327ae6e3 100644
---
a/graphdb/janusgraph-rdbms/src/main/resources/META-INF/postgres/create_schema.sql
+++
b/graphdb/janusgraph-rdbms/src/main/resources/META-INF/postgres/create_schema.sql
@@ -14,9 +14,9 @@
-- limitations under the License.
-- DB objects for Atlas entity audit
-CREATE SEQUENCE IF NOT EXISTS atlas_entity_audit_seq;
+CREATE SEQUENCE IF NOT EXISTS atlas_entity_audit_seq INCREMENT BY 1 CACHE 1000;
-CREATE TABLE IF NOT EXISTS atlas_entity_audit(id BIGINT DEFAULT
nextval('atlas_entity_audit_seq'::regclass), entity_id VARCHAR(64) NOT NULL,
event_time BIGINT NOT NULL, event_idx INT NOT NULL, user_name VARCHAR(64) NOT
NULL, operation INT NOT NULL, details TEXT DEFAULT NULL, entity TEXT DEFAULT
NULL, audit_type INT NOT NULL, PRIMARY KEY(id));
+CREATE TABLE IF NOT EXISTS atlas_entity_audit(id BIGINT, entity_id VARCHAR(64)
NOT NULL, event_time BIGINT NOT NULL, event_idx INT NOT NULL, user_name
VARCHAR(64) NOT NULL, operation INT NOT NULL, details TEXT DEFAULT NULL, entity
TEXT DEFAULT NULL, audit_type INT NOT NULL, PRIMARY KEY(id));
CREATE INDEX IF NOT EXISTS atlas_entity_audit_idx_entity_id ON
atlas_entity_audit (entity_id);
CREATE INDEX IF NOT EXISTS atlas_entity_audit_idx_event_time ON
atlas_entity_audit (event_time);
@@ -25,12 +25,12 @@ CREATE INDEX IF NOT EXISTS
atlas_entity_audit_idx_entity_id_event_time ON atlas_
-- DB objects for JanusGraph backend store
-CREATE SEQUENCE IF NOT EXISTS janus_store_seq;
-CREATE SEQUENCE IF NOT EXISTS janus_key_seq;
-CREATE SEQUENCE IF NOT EXISTS janus_column_seq ;
+CREATE SEQUENCE IF NOT EXISTS janus_store_seq INCREMENT BY 1 CACHE 1;
+CREATE SEQUENCE IF NOT EXISTS janus_key_seq INCREMENT BY 1 CACHE 1000;
+CREATE SEQUENCE IF NOT EXISTS janus_column_seq INCREMENT BY 1 CACHE 1000;
-CREATE TABLE IF NOT EXISTS janus_store(id BIGINT DEFAULT
NEXTVAL('janus_store_seq'::regclass), name VARCHAR(255) NOT NULL, PRIMARY
KEY(id));
-CREATE TABLE IF NOT EXISTS janus_key(id BIGINT DEFAULT
NEXTVAL('janus_key_seq'::regclass), store_id BIGINT NOT NULL, name BYTEA NOT
NULL, PRIMARY KEY(id));
+CREATE TABLE IF NOT EXISTS janus_store(id BIGINT, name VARCHAR(255) NOT NULL,
PRIMARY KEY(id));
+CREATE TABLE IF NOT EXISTS janus_key(id BIGINT, store_id BIGINT NOT NULL, name
BYTEA NOT NULL, PRIMARY KEY(id));
CREATE TABLE IF NOT EXISTS janus_column(id BIGINT DEFAULT
NEXTVAL('janus_column_seq'::regclass), key_id BIGINT NOT NULL, name BYTEA NOT
NULL, val BYTEA NOT NULL, PRIMARY KEY(id));
CREATE UNIQUE INDEX IF NOT EXISTS janus_store_uk_name ON
janus_store(name);
@@ -42,10 +42,10 @@ CREATE INDEX IF NOT EXISTS janus_column_idx_key_id ON
janus_column (key_id);
-- DB objects for JanusGraph unique key constraints
-CREATE SEQUENCE IF NOT EXISTS janus_unique_vertex_key_seq;
-CREATE SEQUENCE IF NOT EXISTS janus_unique_vertex_type_key_seq;
-CREATE SEQUENCE IF NOT EXISTS janus_unique_edge_key_seq;
-CREATE SEQUENCE IF NOT EXISTS janus_unique_edge_type_key_seq;
+CREATE SEQUENCE IF NOT EXISTS janus_unique_vertex_key_seq INCREMENT BY 1 CACHE
1000;
+CREATE SEQUENCE IF NOT EXISTS janus_unique_vertex_type_key_seq INCREMENT BY 1
CACHE 1000;
+CREATE SEQUENCE IF NOT EXISTS janus_unique_edge_key_seq INCREMENT BY 1 CACHE
1000;
+CREATE SEQUENCE IF NOT EXISTS janus_unique_edge_type_key_seq INCREMENT BY 1
CACHE 1000;
CREATE TABLE IF NOT EXISTS janus_unique_vertex_key(id BIGINT DEFAULT
NEXTVAL('janus_unique_vertex_key_seq'::regclass), vertex_id BIGINT NOT NULL,
key_name VARCHAR(255) NOT NULL, val TEXT NOT NULL, PRIMARY KEY(id));
CREATE TABLE IF NOT EXISTS janus_unique_vertex_type_key(id BIGINT DEFAULT
NEXTVAL('janus_unique_vertex_type_key_seq'::regclass), vertex_id BIGINT NOT
NULL, type_name VARCHAR(255) NOT NULL, key_name VARCHAR(255) NOT NULL, val TEXT
NOT NULL, PRIMARY KEY(id));
diff --git
a/repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java
b/repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java
index c9df3c3b3..c288968a9 100755
---
a/repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java
+++
b/repository/src/main/java/org/apache/atlas/repository/graph/GraphBackedSearchIndexer.java
@@ -985,7 +985,7 @@ public class GraphBackedSearchIndexer implements
SearchIndexer, ActiveStateChang
GLOBAL_UNIQUE_INDEX_KEYS.add(propertyName);
if (uniqueKeyHandler != null) {
- LOG.warn("ignoring uniqueness for composite index for
property: {}", propertyName);
+ LOG.info("Uniqueness for property({}) will be handled by {}",
propertyName, uniqueKeyHandler.getClass().getSimpleName());
enforceUniqueness = false;
}
@@ -1029,7 +1029,7 @@ public class GraphBackedSearchIndexer implements
SearchIndexer, ActiveStateChang
if (isUnique) {
if (uniqueKeyHandler != null) {
- LOG.warn("ignoring uniqueness for composite index with system
property: {} + {}", systemPropertyKey, propertyKey.getName());
+ LOG.info("Uniqueness for property({} + {}) will be handled by
{}", systemPropertyKey, propertyKey.getName(),
uniqueKeyHandler.getClass().getSimpleName());
isUnique = false;
}