[
https://issues.apache.org/jira/browse/HIVE-27186?focusedWorklogId=858028&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-858028
]
ASF GitHub Bot logged work on HIVE-27186:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 19/Apr/23 18:12
Start Date: 19/Apr/23 18:12
Worklog Time Spent: 10m
Work Description: saihemanth-cloudera commented on code in PR #4194:
URL: https://github.com/apache/hive/pull/4194#discussion_r1171701352
##########
standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java:
##########
@@ -4393,4 +4393,27 @@ ReplicationMetricList
getReplicationMetrics(GetReplicationMetricsRequest
AbortCompactResponse abortCompactions(AbortCompactionRequest request) throws
TException;
+ /**
+ * Sets properties.
+ * @param nameSpace the property store namespace
+ * @param properties a map keyed by property path mapped to property values
+ * @return true if successful, false otherwise
+ * @throws TException
+ */
+ default boolean setProperties(String nameSpace, Map<String, String>
properties) throws TException {
+ throw new UnsupportedOperationException();
Review Comment:
I think this definition is incorrect. We should only declare the method here
and any other dummy clients or clients that don't support this method should
define this as unsupported.
Currently, SessionHiveMetaStoreClient would throw this exception. Can you
please implement these methods in SessionHiveMetastoreClient as well?
Issue Time Tracking
-------------------
Worklog Id: (was: 858028)
Time Spent: 5h 10m (was: 5h)
> A persistent property store
> ----------------------------
>
> Key: HIVE-27186
> URL: https://issues.apache.org/jira/browse/HIVE-27186
> Project: Hive
> Issue Type: Improvement
> Components: Metastore
> Affects Versions: 4.0.0-alpha-2
> Reporter: Henri Biestro
> Assignee: Henri Biestro
> Priority: Major
> Labels: pull-request-available
> Time Spent: 5h 10m
> Remaining Estimate: 0h
>
> WHAT
> A persistent property store usable as a support facility for any metadata
> augmentation feature.
> WHY
> When adding new meta-data oriented features, we usually need to persist
> information linking the feature data and the HiveMetaStore objects it applies
> to. Any information related to a database, a table or the cluster - like
> statistics for example or any operational data state or data (think rolling
> backup) - fall in this use-case.
> Typically, accommodating such a feature requires modifying the Metastore
> database schema by adding or altering a table. It also usually implies
> modifying the thrift APIs to expose such meta-data to consumers.
> The proposed feature wants to solve the persistence and query/transport for
> these types of use-cases by exposing a 'key/(meta)value' store exposed as a
> property system.
> HOW
> A property-value model is the simple and generic exposed API.
> To provision for several usage scenarios, the model entry point is a
> 'namespace' that qualifies the feature-component property manager. For
> example, 'stats' could be the namespace for all properties related to the
> 'statistics' feature.
> The namespace identifies a manager that handles property-groups persisted as
> property-maps. For instance, all statistics pertaining to a given table would
> be collocated in the same property-group. As such, all properties (say number
> of 'unique_values' per columns) for a given HMS table 'relation0' would all
> be stored and persisted in the same property-map instance.
> Property-maps may be decorated by an (optional) schema that may declare the
> name and value-type of allowed properties (and their optional default value).
> Each property is addressed by a name, a path uniquely identifying the
> property in a given property map.
> The manager also handles transforming property-map names to the property-map
> keys used to persist them in the DB.
> The API provides inserting/updating properties in bulk transactionally. It
> also provides selection/projection to help reduce the volume of exchange
> between client/server; selection can use (JEXL expression) predicates to
> filter maps.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)