[ 
https://issues.apache.org/jira/browse/HIVE-26555?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Teddy Choi updated HIVE-26555:
------------------------------
    Description: 
h1. Purpose

In failover/fail-back scenarios, a Hive database needs to be read-only, while 
other one is writable to keep a single source of truth.
h1. Design

Yes. EnforceReadOnlyDatabaseHook class implements ExecuteWithHookContext 
interface. hive.exec.pre.hooks needs to have the class name to initiate an 
instance. The "readonly" database property can be configured to turn it on and 
off.

Allowed operations prefixes
 * EXPLAIN
 * USE(or SWITCHDATABASE)
 * REPLDUMP
 * REPLSTATUS
 * EXPORT
 * KILL_QUERY
 * DESC
 * SHOW

Tests
 * read_only_hook.q: USE, SHOW, DESC, DESCRIBE, EXPLAIN, SELECT
 * read_only_delete.q
 * read_only_insert.q

  was:
h1. Purpose

In failover/fail-back scenarios, a Hive instance needs to be read-only, while 
other one is writable to keep a single source of truth.
h1. Design

EnforceReadOnlyHiveHook class can implement ExecuteWithHookContext interface. 
hive.exec.pre.hooks needs to have the class name to initiate an instance. 
"hive.enforce.readonly" can be configured to turn it on and off.
h2. Allowed operations prefixes
 * USE(or SWITCHDATABASE)
 * SELECT
 * DESC
 * DESCRIBE
 * SET
 * EXPLAIN
 * ROLLBACK
 * KILL
 * ABORT

h1. Tests
 * read_only_hook.q: USE, SHOW, DESC, DESCRIBE, EXPLAIN, SELECT
 * read_only_hook_delete_failure.q
 * read_only_hook_insert_failure.q
 * read_only_hook_update_failure.q


> Read-only mode
> --------------
>
>                 Key: HIVE-26555
>                 URL: https://issues.apache.org/jira/browse/HIVE-26555
>             Project: Hive
>          Issue Type: New Feature
>            Reporter: Teddy Choi
>            Assignee: Teddy Choi
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> h1. Purpose
> In failover/fail-back scenarios, a Hive database needs to be read-only, while 
> other one is writable to keep a single source of truth.
> h1. Design
> Yes. EnforceReadOnlyDatabaseHook class implements ExecuteWithHookContext 
> interface. hive.exec.pre.hooks needs to have the class name to initiate an 
> instance. The "readonly" database property can be configured to turn it on 
> and off.
> Allowed operations prefixes
>  * EXPLAIN
>  * USE(or SWITCHDATABASE)
>  * REPLDUMP
>  * REPLSTATUS
>  * EXPORT
>  * KILL_QUERY
>  * DESC
>  * SHOW
> Tests
>  * read_only_hook.q: USE, SHOW, DESC, DESCRIBE, EXPLAIN, SELECT
>  * read_only_delete.q
>  * read_only_insert.q



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to