Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: tablets get user table remotely #3918

Merged
merged 8 commits into from
May 8, 2024

Conversation

oh2024
Copy link
Collaborator

@oh2024 oh2024 commented May 7, 2024

  • What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
    Feature

  • What is the current behavior? (You can also link to an open issue here)
    All tablets get a copy of the user table. There will be problems when new tablets are added after deployment because replica size is fixed.

  • What is the new behavior (if this is a feature change)?
    At most 2 tablets contain user table. Other tablets get them remotely

@github-actions github-actions bot added the storage-engine openmldb storage engine. nameserver & tablet label May 7, 2024
Copy link
Contributor

github-actions bot commented May 7, 2024

SDK Test Report

102 files  102 suites   2m 12s ⏱️
357 tests 343 ✅ 14 💤 0 ❌
483 runs  469 ✅ 14 💤 0 ❌

Results for commit a7e53f5.

♻️ This comment has been updated with latest results.

Copy link

codecov bot commented May 7, 2024

Codecov Report

Attention: Patch coverage is 81.25000% with 6 lines in your changes are missing coverage. Please review.

Project coverage is 75.18%. Comparing base (d9bb344) to head (d44cfe1).
Report is 1 commits behind head on main.

Files Patch % Lines
src/tablet/tablet_impl.cc 78.26% 5 Missing ⚠️
src/auth/brpc_authenticator.cc 50.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #3918      +/-   ##
============================================
+ Coverage     74.98%   75.18%   +0.20%     
  Complexity      658      658              
============================================
  Files           751      751              
  Lines        135067   135068       +1     
  Branches       1501     2039     +538     
============================================
+ Hits         101276   101550     +274     
+ Misses        33503    33230     -273     
  Partials        288      288              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

github-actions bot commented May 7, 2024

Linux Test Report

    59 files     252 suites   1h 48m 14s ⏱️
13 509 tests 13 502 ✅ 7 💤 0 ❌
19 181 runs  19 174 ✅ 7 💤 0 ❌

Results for commit a7e53f5.

♻️ This comment has been updated with latest results.

Copy link
Collaborator

@vagetablechicken vagetablechicken left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

resolve the conflicts

Copy link
Collaborator

@tobegit3hub tobegit3hub left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@tobegit3hub tobegit3hub merged commit 7269141 into 4paradigm:main May 8, 2024
18 of 21 checks passed
tobegit3hub added a commit that referenced this pull request Jul 18, 2024
* feat: sbin use the generated zk conf (#3901)

Co-authored-by: lijiangnan <[email protected]>

* refactor!: relocate go sdk (#3889)

* refactor!: relocate go sdk

moving to https://github.com/4paradigm/openmldb-go-sdk

* go readme

* ci: fix sdk workflow

* docs: fix example (#3907)

raw SQL request mode example was wrong because execute_mode should be request

* fix: make clients use always send auth info (#3906)

* fix: make clients use auth by default

* fix: let skip auth flag only affect verify

* feat: tablets get user table remotely (#3918)

* fix: make clients use auth by default

* fix: let skip auth flag only affect verify

* feat: tablets get user table remotely

* fix: use FLAGS_system_table_replica_num for user table

* fix: recoverdata support load disk table (#3888)

* docs: add map desc in create table (#3912)

* ci(#3904): python mac jobs fix (#3905)

* fix(#3909): checkout execute_mode in config clause in sql client (#3910)

* feat: merge dag sql (#3911)

* feat: merge AIOS DAG SQL

* feat: mergeDAGSQL

* add AIOSUtil

* feat: add AIOS merge SQL test case

* feat: split margeDAGSQL and validateSQLInRequest

* fix: gcformat space and continuous sign (#3921)

* fix: gcformat space

* fix: gcformat continuous sign use hash

* fix: delete incorrect comments

* feat: merge 090 features to main (#3929)

* Set s3 and aws dependencies ad provided (#3897)

* feat: execlude zookeeper for curator (#3899)

* Execlude zookeeper when using curator

* Fix local build java

* Run script to update post release version (#3931)

* feat: crud users synchronously (#3928)

* fix: make clients use auth by default

* fix: let skip auth flag only affect verify

* feat: tablets get user table remotely

* fix: use FLAGS_system_table_replica_num for user table

* feat: consistent user cruds

* fix: pass instance of tablet and nameserver into auth lambda to allow locking

* feat: best effort try to flush user data to all tablets

* fix: lock scope

* fix: stop user sync thread safely

* fix: default values for user table columns

* feat(parser): simple ANSI SQL rewriter (#3934)

* feat(parser): simple ANSI SQL rewriter

* feat(draft): translate request mode query

* feat: request query rewriter

* test: tpc rewrite cases

* feat(rewrite): enable ansi sql rewriter in `ExecuteSQL`

You may explicitly set this feature on via `set session ansi_sql_rewriter
= 'true'`

TODO: this rewriter feature should be off by default

* build(deps-dev): bump urllib3 from 1.26.18 to 1.26.19 in /docs (#3948)

Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.18 to 1.26.19.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/1.26.19/CHANGES.rst)
- [Commits](urllib3/urllib3@1.26.18...1.26.19)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat(udf): isin (#3939)

* feat(#3916): support @@execute_mode = 'request' (#3924)

* feat(udf): array_combine & array_join (#3945)

* feat(udf): array_combine

* feat(udf): new functions

- array_combine
- array_join

* feat: casting arrays to array<string> for array_combine

WIP, string allocation need fix

* fix: array_combine with non-string types

* feat(array_combine): handle null inputs

* fix(array_combine): behavior tweaks

- use empty string if delimiter is null
- restrict to array_combine(string, array<T> ...)

* feat: support batchrequest in ProcessQuery (#3938)

* feat: user authz (#3941)

* feat: change user table to match mysql

* feat: support user authz

* fix: cean up created users

* build(deps-dev): bump requests from 2.31.0 to 2.32.2 in /docs (#3951)

Bumps [requests](https://github.com/psf/requests) from 2.31.0 to 2.32.2.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](psf/requests@v2.31.0...v2.32.2)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump org.apache.derby:derby (#3949)

Bumps org.apache.derby:derby from 10.14.2.0 to 10.17.1.0.

---
updated-dependencies:
- dependency-name: org.apache.derby:derby
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump org.postgresql:postgresql (#3950)

Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.3 to 42.3.9.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](pgjdbc/pgjdbc@REL42.3.3...REL42.3.9)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: iot table (#3944)

* feat: iot table

* fix

* fix

* fix delete key entry

* fix comment

* ut

* ut test

* fix ut

* sleep more for truncate

* sleep 16

* tool pytest fix and swig fix

* fix

* clean

* move to base

* fix

* fix coverage ut

* fix

---------

Co-authored-by: Huang Wei <[email protected]>

* feat(open-mysql-db): pandas support (#3868)

* feat(open-mysql-db): refactor

1. remove unnecessary instance var port
2. fix cause null bug
3. remove unnecessary throws
4. fix ctx.close() sequence bug
5. config sessionTimeout and requestTimeout
6. add docs of SqlEngine

* feat(open-mysql-db): refactor

* feat(open-mysql-db): revert passsword

* feat(open-mysql-db): mock commit and schema table count

* feat(open-mysql-db): replace data type text with string

* feat(open-mysql-db): remove null

---------

Co-authored-by: yangwucheng <[email protected]>

* fix: drop aggr tables in drop table (#3908)

* fix: drop aggr tables in drop table

* fix

* fix test

* fix

* fix

---------

Co-authored-by: Huang Wei <[email protected]>

* ci(#3954): fix checkout action on old glibc OS (#3955)

* ci(#3954): fix checkout action on old glibc OS

* ci: include checkout fix in all workflows

* ci: fix python-sdk

* test: node-2 to node-3 (#3957)

node-3 is not available, moving to node-2

* feat: support locate(substr, str[, pos]) function(#820) (#3943)

* fix(scripts): deploy spark correctly (#3958)

$SPARK_HOME may be a symbolic link referring to a invalid directory, so
we'd try 'rm -f' first

* Add changelog for 0.9.1 (#3959)

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: venessa <[email protected]>
Co-authored-by: lijiangnan <[email protected]>
Co-authored-by: aceforeverd <[email protected]>
Co-authored-by: oh2024 <[email protected]>
Co-authored-by: HuangWei <[email protected]>
Co-authored-by: wyl4pd <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Huang Wei <[email protected]>
Co-authored-by: yangwucheng <[email protected]>
Co-authored-by: yangwucheng <[email protected]>
Co-authored-by: howd <[email protected]>
tobegit3hub added a commit that referenced this pull request Jul 26, 2024
* feat: sbin use the generated zk conf (#3901)

Co-authored-by: lijiangnan <[email protected]>

* refactor!: relocate go sdk (#3889)

* refactor!: relocate go sdk

moving to https://github.com/4paradigm/openmldb-go-sdk

* go readme

* ci: fix sdk workflow

* docs: fix example (#3907)

raw SQL request mode example was wrong because execute_mode should be request

* fix: make clients use always send auth info (#3906)

* fix: make clients use auth by default

* fix: let skip auth flag only affect verify

* feat: tablets get user table remotely (#3918)

* fix: make clients use auth by default

* fix: let skip auth flag only affect verify

* feat: tablets get user table remotely

* fix: use FLAGS_system_table_replica_num for user table

* fix: recoverdata support load disk table (#3888)

* docs: add map desc in create table (#3912)

* ci(#3904): python mac jobs fix (#3905)

* fix(#3909): checkout execute_mode in config clause in sql client (#3910)

* feat: merge dag sql (#3911)

* feat: merge AIOS DAG SQL

* feat: mergeDAGSQL

* add AIOSUtil

* feat: add AIOS merge SQL test case

* feat: split margeDAGSQL and validateSQLInRequest

* fix: gcformat space and continuous sign (#3921)

* fix: gcformat space

* fix: gcformat continuous sign use hash

* fix: delete incorrect comments

* feat: merge 090 features to main (#3929)

* Set s3 and aws dependencies ad provided (#3897)

* feat: execlude zookeeper for curator (#3899)

* Execlude zookeeper when using curator

* Fix local build java

* Run script to update post release version (#3931)

* feat: crud users synchronously (#3928)

* fix: make clients use auth by default

* fix: let skip auth flag only affect verify

* feat: tablets get user table remotely

* fix: use FLAGS_system_table_replica_num for user table

* feat: consistent user cruds

* fix: pass instance of tablet and nameserver into auth lambda to allow locking

* feat: best effort try to flush user data to all tablets

* fix: lock scope

* fix: stop user sync thread safely

* fix: default values for user table columns

* feat(parser): simple ANSI SQL rewriter (#3934)

* feat(parser): simple ANSI SQL rewriter

* feat(draft): translate request mode query

* feat: request query rewriter

* test: tpc rewrite cases

* feat(rewrite): enable ansi sql rewriter in `ExecuteSQL`

You may explicitly set this feature on via `set session ansi_sql_rewriter
= 'true'`

TODO: this rewriter feature should be off by default

* build(deps-dev): bump urllib3 from 1.26.18 to 1.26.19 in /docs (#3948)

Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.18 to 1.26.19.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/1.26.19/CHANGES.rst)
- [Commits](urllib3/urllib3@1.26.18...1.26.19)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat(udf): isin (#3939)

* feat(#3916): support @@execute_mode = 'request' (#3924)

* feat(udf): array_combine & array_join (#3945)

* feat(udf): array_combine

* feat(udf): new functions

- array_combine
- array_join

* feat: casting arrays to array<string> for array_combine

WIP, string allocation need fix

* fix: array_combine with non-string types

* feat(array_combine): handle null inputs

* fix(array_combine): behavior tweaks

- use empty string if delimiter is null
- restrict to array_combine(string, array<T> ...)

* feat: support batchrequest in ProcessQuery (#3938)

* feat: user authz (#3941)

* feat: change user table to match mysql

* feat: support user authz

* fix: cean up created users

* build(deps-dev): bump requests from 2.31.0 to 2.32.2 in /docs (#3951)

Bumps [requests](https://github.com/psf/requests) from 2.31.0 to 2.32.2.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](psf/requests@v2.31.0...v2.32.2)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump org.apache.derby:derby (#3949)

Bumps org.apache.derby:derby from 10.14.2.0 to 10.17.1.0.

---
updated-dependencies:
- dependency-name: org.apache.derby:derby
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump org.postgresql:postgresql (#3950)

Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.3 to 42.3.9.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](pgjdbc/pgjdbc@REL42.3.3...REL42.3.9)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: iot table (#3944)

* feat: iot table

* fix

* fix

* fix delete key entry

* fix comment

* ut

* ut test

* fix ut

* sleep more for truncate

* sleep 16

* tool pytest fix and swig fix

* fix

* clean

* move to base

* fix

* fix coverage ut

* fix

---------

Co-authored-by: Huang Wei <[email protected]>

* feat(open-mysql-db): pandas support (#3868)

* feat(open-mysql-db): refactor

1. remove unnecessary instance var port
2. fix cause null bug
3. remove unnecessary throws
4. fix ctx.close() sequence bug
5. config sessionTimeout and requestTimeout
6. add docs of SqlEngine

* feat(open-mysql-db): refactor

* feat(open-mysql-db): revert passsword

* feat(open-mysql-db): mock commit and schema table count

* feat(open-mysql-db): replace data type text with string

* feat(open-mysql-db): remove null

---------

Co-authored-by: yangwucheng <[email protected]>

* fix: drop aggr tables in drop table (#3908)

* fix: drop aggr tables in drop table

* fix

* fix test

* fix

* fix

---------

Co-authored-by: Huang Wei <[email protected]>

* ci(#3954): fix checkout action on old glibc OS (#3955)

* ci(#3954): fix checkout action on old glibc OS

* ci: include checkout fix in all workflows

* ci: fix python-sdk

* test: node-2 to node-3 (#3957)

node-3 is not available, moving to node-2

* feat: support locate(substr, str[, pos]) function(#820) (#3943)

* fix(scripts): deploy spark correctly (#3958)

$SPARK_HOME may be a symbolic link referring to a invalid directory, so
we'd try 'rm -f' first

* Add changelog for 0.9.1 (#3959)

* fix: select from JOB_INFO should always in online mode (#3963)

* fix: select from JOB_INFO should always in online mode

Fix error when user set default `execute_mode` to offline:

```sql
set global execute_mode = 'offline';
select 1;
```

* fix: query mode on user & pre_agg tables

* build(docker): centos7 EOL (#3965)

* build(docker): centos7 EOL

* fix vault address for aarch64

* ci(docker): disable arm64 image

Dont have arm machine to test

* fix(docker): numpy version lock (#3966)

* Update docs version to 0.9.1 (#3960)

* add blog post (#3936)

* refactor: fix compile for mcjit and improve to tests (#3952)

* refactor: rm SQL_CASE_BASE_DIR

* fix: compile on mcjit

* feat: setup SqlCaseBaseDir for hybridse

TODO: also setup for tests in src/

* docs: add blog post (#3913)

* Include new posts

* update links

* minor change

* ci: update create-pull-request action to v6 in udf-doc-gen workflow & rm deprecated file sync (#3964)

* Updated create-pull-request action to v6 in udf-doc-gen workflow

* Removed references to docs/en/reference/sql/udfs_8h.md as the file no longer exists

* build: upgrade openmldb sdk version in self host (#3962)

* docs: add changelog for 0.9.2 (#3968)

* docs: update version 0.9.2 in docs (#3970)

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: venessa <[email protected]>
Co-authored-by: lijiangnan <[email protected]>
Co-authored-by: aceforeverd <[email protected]>
Co-authored-by: oh2024 <[email protected]>
Co-authored-by: HuangWei <[email protected]>
Co-authored-by: wyl4pd <[email protected]>
Co-authored-by: tobe <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Huang Wei <[email protected]>
Co-authored-by: yangwucheng <[email protected]>
Co-authored-by: yangwucheng <[email protected]>
Co-authored-by: howd <[email protected]>
Co-authored-by: Siqi Wang <[email protected]>
Co-authored-by: Jayaprakash0511 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
storage-engine openmldb storage engine. nameserver & tablet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants