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 
&lt; :endName</query>
+                WHERE c.keyId = :keyId AND c.name >= :startName AND c.name 
&lt; :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;
             }

Reply via email to