>From Hussain Towaileb <hussai...@gmail.com>:

Attention is currently required from: Ali Alsuliman, Ian Maxon, Michael Blow, 
Murtadha Hubail, Peeyush Gupta.

Hussain Towaileb has posted comments on this change by Hussain Towaileb. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272?usp=email )

Change subject: [ASTERIXDB-3634][EXT]: Add support to Iceberg
......................................................................


Patch Set 8: Code-Review+1

(15 comments)

Patchset:

PS3:
> also: can we add the CATALOG railroad diagram to 
> asterix-doc/src/main/grammar/sqlpp. […]
Yes, will add it in a follow up, good call.


File 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/translator/handlers/CatalogStatementHandler.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272/comment/a00c5b61_61206ea8?usp=email
 :
PS3, Line 226:  // TODO(htowaileb): what is transaction state?
> pretty sure it's a remnant from external indexing v. […]
Got it, it's not needed for catalogs, removing it.


https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272/comment/86ffc501_a167c32f?usp=email
 :
PS3, Line 240: for (Map.Entry<String, IAdmNode> me : 
withObjectNode.getFields()) {
> feels like this logic can be extracted to a util outside of this class
Done


https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272/comment/6461178d_860c10d0?usp=email
 :
PS3, Line 261: fieldName + "#" + i++
> do we actually store them this way in our metadata catalog?
I believe we do, yes. It was related to a discussion on how to store an array 
of include/exclude properties, we went with this approach.


https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272/comment/8c827d67_810b139f?usp=email
 :
PS3, Line 281: MetadataTransactionContext mdTxnCtx, MetadataProvider 
metadataProvider
> unused?
Used on the overridden method, cbas side


File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/CatalogConfig.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272/comment/4b7d341e_8d78fa9c?usp=email
 :
PS3, Line 35: IcebergCatalogSource
> You can potentially use Optional<IcebergCatalogSource> here
Done


File 
asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/catalog/ICatalogDetailsDecl.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272/comment/33d6ee02_e54265f2?usp=email
 :
PS3, Line 21: ICatalogDetailsDecl
> I know you are just following the existing pattern, but in this case, we 
> might not need this empty i […]
Removed


File 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataCache.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272/comment/a4023677_3b17f63a?usp=email
 :
PS6, Line 150:                                                         }
> need to add lock and clear catalogs here
Done


File 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/api/IMetadataManager.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272/comment/a5f0069e_e575c59f?usp=email
 :
PS3, Line 928: catalog
> make the parameter name consist between get and drop (i.e., catalog or 
> catalogName). […]
Done


File 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/CatalogEntity.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272/comment/62df4567_1a10e1fe?usp=email
 :
PS3, Line 103: FIELD_NAME_CATALOG_NAME
> we should seriously start considering adding a uuid for our entities to allow 
> renaming entities, but […]
Will go over the metadata fields in a follow up and do the necessary after I 
get clearer picture, just so I don't break anything in this patch.


File 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataRecordTypes.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272/comment/931cf778_5cc0c38c?usp=email
 :
PS3, Line 316: FIELD_NAME_LAST_REFRESH_TIME,
             :                     FIELD_NAME_TRANSACTION_STATE },
> Are you planning on adding a catalog refresh concept? if not, we you should 
> remove these two fields.
Not adding that, removed.


File 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/IcebergCatalog.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272/comment/64b4e5f8_b5cf5264?usp=email
 :
PS3, Line 26: 2
> why not 1?
Done


File 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/entities/IcebergCatalogDetails.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272/comment/4425515e_2e4758de?usp=email
 :
PS3, Line 151:    @Override
             :     public String toString() {
             :         ObjectMapper mapper = new ObjectMapper();
             :         try {
             :             return mapper.writeValueAsString(toMap());
             :         } catch (JsonProcessingException e) {
             :             LOGGER.log(Level.WARN, "Unable to convert map to 
json String", e);
             :             return getClass().getSimpleName();
             :         }
             :     }
             :
             :     private Map<String, Object> toMap() {
             :         Map<String, Object> map = new HashMap<>();
             :         map.put("adapter", adapter);
             :         map.put("properties", properties);
             :         map.put("lastRefreshTime", lastRefreshTime.toString());
             :         map.put("state", state.name());
             :         return map;
             :     }
> when does this get used instead of the other serialization form?
Not sure actually, but I saw it everywhere, so I maintained it, @Murtadha might 
know about it.


File 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/utils/MetadataLockUtil.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272/comment/ab245357_cef16ffd?usp=email
 :
PS3, Line 402: createCatalogBeing
> nit: typo?
Done


https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272/comment/e198267a_81995eac?usp=email
 :
PS3, Line 404: acquireCatalogReadLock
> Shouldn't this be write lock as this is used while creating a catalog?
Done



--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20272?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings?usp=email

Gerrit-MessageType: comment
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: If825dfc3241f72fcece03874662fc2dc8f553920
Gerrit-Change-Number: 20272
Gerrit-PatchSet: 8
Gerrit-Owner: Hussain Towaileb <hussai...@gmail.com>
Gerrit-Reviewer: Ali Alsuliman <ali.al.solai...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Hussain Towaileb <hussai...@gmail.com>
Gerrit-Reviewer: Ian Maxon <ima...@apache.org>
Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Murtadha Hubail <mhub...@apache.org>
Gerrit-Reviewer: Peeyush Gupta <peeyush.gu...@couchbase.com>
Gerrit-CC: Michael Blow <mb...@apache.org>
Gerrit-Attention: Murtadha Hubail <mhub...@apache.org>
Gerrit-Attention: Peeyush Gupta <peeyush.gu...@couchbase.com>
Gerrit-Attention: Ian Maxon <ima...@apache.org>
Gerrit-Attention: Ali Alsuliman <ali.al.solai...@gmail.com>
Gerrit-Attention: Michael Blow <mb...@apache.org>
Gerrit-Comment-Date: Mon, 22 Sep 2025 15:01:13 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: Murtadha Hubail <mhub...@apache.org>
Comment-In-Reply-To: Peeyush Gupta <peeyush.gu...@couchbase.com>
Comment-In-Reply-To: Ian Maxon <ima...@apache.org>
Comment-In-Reply-To: Michael Blow <mb...@apache.org>

Reply via email to