Weny Xu
746b4e2369
refactor: improve error code handling in status code conversion ( #5851 )
...
* refactor: improve error code handling in status code conversion
* chore: apply suggestions from CR
* fix: only hanlde client side thrown error
* feat: introduce `DeadlineExceeded`
* fix: exclude Code::Unknown from retry conditions
2025-04-09 07:58:23 +00:00
LFC
d9f2f0ccf0
feat: add a new status code for "external" errors ( #4775 )
...
* feat: add a new status code for "external" errors
* Update src/auth/src/error.rs
Co-authored-by: shuiyisong <113876041+shuiyisong@users.noreply.github.com >
* support mysql cli cleartext auth
* resolve PR comments
---------
Co-authored-by: shuiyisong <113876041+shuiyisong@users.noreply.github.com >
2024-09-29 03:38:50 +00:00
Ran Miller
918be099cd
docs(common_error): format enum StatusCode docs ( #4427 )
...
* fix: format comments end with . symbol
* docs: add commnet for RegionReadonly
* fix: comment error for DatabaseAlreadyExists
2024-07-24 15:54:35 +00:00
dennis zhuang
64cad4e891
feat: tweak error and status codes ( #4359 )
...
* feat: tweak status codes
* fix: typo
* fix: by cr comments
2024-07-15 07:50:16 +00:00
Ning Sun
7fe3f496ac
refactor: do not print error log on PlanQuery error ( #4322 )
2024-07-09 06:34:30 +00:00
shuiyisong
d1838fb28d
refactor: move define_into_tonic_status to common-error ( #4095 )
...
* chore: finish cherry-pick
* chore: remove unused code
2024-06-04 03:29:15 +00:00
Weny Xu
5545a8b023
feat: implement drop flow procedure ( #3877 )
...
* feat: implement `destroy_flow_metadata` method
* chore: bump proto to 65c1364
* feat: implement the drop flow procedure
* feat: add `MockFlownodeManager`
* tests: add tests for create flow & drop flow procedure
* chore: apply suggestions from CR
* chore: use `ClusterId`
2024-05-09 08:23:19 +00:00
Yingwen
4685b59ef1
feat: write manifests in background tasks ( #3709 )
...
* chore: truncate wip
* feat: truncate and edit write manifest in background
* refactor: wrap in manifest context
* feat: alter write manifest in background
* chore: fix compiler errors
* feat: flush update manifest in background
* feat: compaction update manifest in background
* feat: set dropping state
* feat: reset drop state
* feat: check state before updating manifest
* test: fix compaction test
* refactor: rename method
* chore: update comment
* chore: discard state guard
* refactor: use atomic cell to store state enum
* chore: fix clippy
* chore: update toml
* chore: remove unused type alias
* feat: check state after writing manifest
* chore: address CR comments
* chore: change status code
* chore: Update src/mito2/src/region.rs
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
* fix: executes applier
---------
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
2024-04-24 03:09:48 +00:00
Weny Xu
770da02810
fix: fix incorrect StatusCode parsing ( #3281 )
...
* fix: fix incorrect StatusCode parsing
* chore: apply suggestions from CR
2024-02-05 08:06:43 +00:00
Ruihang Xia
5617b284c5
feat: return request outdated error on handling alter ( #3239 )
...
* feat: return request outdated error on handling alter
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix tonic code mapping
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy, add comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix deadloop
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update UT
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* address CR comments
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* chore: Update log message
* Update src/common/meta/src/ddl/alter_table.rs
Co-authored-by: Weny Xu <wenymedia@gmail.com >
* fix compile
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
Co-authored-by: Weny Xu <wenymedia@gmail.com >
2024-01-26 03:37:46 +00:00
Weny Xu
6c1c7d8d24
feat: allow initializing regions in background ( #2930 )
...
* refactor: open regions in background
* feat: add status code of RegionNotReady
* feat: use RegionNotReady instead of RegionNotFound for a registering region
* chore: apply suggestions from CR
* feat: add status code of RegionBusy
* feat: return RegionBusy for mutually exclusive operations
2023-12-20 11:37:46 +00:00
shuiyisong
5dba373ede
chore: return json body under http status 401 ( #2924 )
...
* chore: change auth_fn to function and return response with json body
* chore: move unsupported to debug level
* chore: add docs and tests
* chore: rebase and update test
2023-12-14 10:01:12 +00:00
WU Jingdi
180bc64cb0
feat: change metric crate from metrics to prometheus ( #2655 )
...
* feat: change metrics to prometheus
* chore: fix code advise
* chore: resolve merge conflict
* chore: fix code advise
2023-10-31 15:46:57 +00:00
Yingwen
d4ae8a6fed
feat(mito): Add writable flag to region ( #2349 )
...
* feat: add writable flag to region.
* refactor: rename MitoEngine to MitoEngine::scanner
* feat: add set_writable() to RegionEngine
* feat: check whether region is writable
* feat: make set_writable sync
* test: test set_writable
* docs: update comments
* feat: send result on compaction failure
* refactor: wrap output sender in new type
* feat: on failure
* refactor: use get_region_or/writable_region_or
* refactor: remove send_result
* feat: notify waiters on flush scheduler drop
* test: fix tests
* fix: only alter writable region
2023-09-14 02:45:30 +00:00
Ruihang Xia
50fca2400e
feat: adapt methods from RegionEngine for MitoEngine ( #2315 )
...
* feat: adapt methods from RegionEngine for MitoEngine
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* minor fixes
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-09-12 07:57:15 -05:00
LFC
ff3881f0e1
feat: drop distributed Mito2 table ( #2260 )
...
* feat: drop distributed Mito2 table
* rebase develop
* fix: resolve PR comments
* fix: resolve PR comments
2023-09-12 07:57:15 -05:00
shuiyisong
c8cde704cf
chore: minor auth crate change ( #2176 )
...
* chore: pub auth_mysql
* chore: pub all error
* chore: remove back to error
* chore: wrap failed permission check result to err
* chore: minor change
2023-08-15 10:49:22 +00:00
JeremyHi
2ef0d06cdb
feat: status_code in response header ( #1982 )
...
* feat: status_code in response header
* chore: parese grpc response
* fix: sqlness failed
* chore: fix sqlness
2023-07-19 11:27:49 +00:00
shuiyisong
04ddeffd2a
chore: add rate limit status code ( #1923 )
2023-07-10 17:41:59 +08:00
Yingwen
563ce59071
feat: Add request type and result code to grpc metrics ( #1664 )
2023-05-30 09:51:08 +08:00
Yingwen
2818f466d3
feat: Log error in GreptimeRequestHandler ( #1507 )
...
* feat(common-error): Add should_log_error
* feat(servers): log error in grpc handler
2023-05-04 15:48:38 +08:00
Xieqijun
0b3f955ca7
feat: Add an error variant RetryLater ( #1058 )
...
* feat: support retry error
* fix: ci
* fix: ci
* fix: fmt
* feat: add convert procedure error
* Docs : add rustdoc
* fix: cr
* fix: cr
* fix: rm unless code
2023-02-27 17:19:37 +08:00
shuiyisong
6960739b3d
feat: add authorize to UserProvider trait ( #879 )
...
* feat: add SchemaValidator
* feat: add schema validator to mysql shim
* chore: pass schema validator to http auth layer
* feat: add schema validator to http
* feat: add schema validator to pg
* feat: add schema validator to pg
* feat: add schema validator test
* chore: remove println in test
* chore: use !matches
* refactor: refac authenticate and authorize in http auth
* refactor: refac authenticate and authorize in http auth
* chore: typo
* chore: minor change
* refactor: merge schema_validator into user_providier
* chore: fix license issue
* refactor: change http query param from database to db
* chore: fix cr issue
2023-01-18 12:42:08 +08:00
Ruihang Xia
32d51947a4
refactor: adjust outermost error message ( #859 )
...
* refactor: adjust outermost error message
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* preserve tonic status code
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-01-10 17:28:27 +08:00
Lei, HUANG
8ffc078f88
fix: license header ( #815 )
2023-01-03 15:09:49 +08:00
LFC
ea9af42091
chore: upgrade Rust to nightly 2022-12-20 ( #772 )
...
* chore: upgrade Rust to nightly 2022-12-20
* chore: upgrade Rust to nightly 2022-12-20
Co-authored-by: luofucong <luofucong@greptime.com >
2022-12-21 19:32:30 +08:00
Ning Sun
539ead5460
feat: check database existence on http api ( #764 )
...
* feat: check database existance on http api
* Update src/servers/src/http/handler.rs
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
* feat: use database not found status code
* test: add assertion for status code
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2022-12-21 10:28:45 +08:00
fys
c5661ee362
feat: support http basic authentication ( #733 )
...
* feat: support http auth
* add some unit test and log
* fix
* cr
* remove unused #[derive(Clone)]
2022-12-13 10:44:33 +08:00
fys
4fdf26810c
feat: support auth in frontend ( #688 )
...
* feat: add UserProvider trait
* chore: minor fix
* support pg mysql
* refactor and add some logs
* chore: add license
Co-authored-by: shuiyisong <xixing.sys@gmail.com >
2022-12-08 11:51:52 +08:00
Ruihang Xia
7ba512980a
chore: add APACHE-2.0 license header ( #518 )
...
* feat: add license checker workflow
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix existing header
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* specify license for internal sub-crate
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix rustfmt
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2022-11-15 18:05:46 +08:00
LFC
ca732d45f9
feat: opentsdb support ( #274 )
...
* feat: opentsdb support
* fix: tests
* fix: resolve CR comments
* fix: resolve CR comments
* fix: resolve CR comments
* fix: resolve CR comments
* refactor: remove feature flags for opentsdb and pg
* fix: resolve CR comments
* fix: resolve CR comments
Co-authored-by: luofucong <luofucong@greptime.com >
2022-09-26 15:47:43 +08:00
fys
37a425658c
chore: optimize status code ( #235 )
2022-09-08 15:34:44 +08:00
evenyag
d71ae7934e
feat: Upgrade rust to nightly-2022-07-14 ( #217 )
...
* feat: upgrade rust to nightly-2022-07-14
* style: Fix some clippy warnings
* style: clippy fix
* style: fix clippy
* style: Fix clippy
Some PartialEq warnings have been work around using cfg_attr test
* feat: Implement Eq and PartialEq for PrimitiveType
* chore: Remove unnecessary allow
* chore: Remove usage of cfg_attr for PartialEq
2022-09-01 17:50:48 +08:00
fys
34133fae5a
feat: impl select (grpc) ( #138 )
...
* SelectExpr: change to oneof expr
* Convert between Vec<u8> and SelectResult
* Chore: use encode_to_vec and decode, instead of encode_length_delimited_to_vec and decode_length_delimited
* Chore: move bitset into separate file
* Grpc select impl
2022-08-15 18:31:47 +08:00
LFC
4098c57446
feat: MySQL protocol server ( #158 )
...
* MySQL protocol server
* fix: Rustfmt check
* fix: resolve PR comments
Co-authored-by: luofucong <luofucong@greptime.com >
2022-08-12 11:41:45 +08:00
evenyag
bf5975ca3e
feat: Prototype of the storage engine ( #107 )
...
* feat: memtable flush (#63 )
* wip: memtable flush
* optimize schema conversion
* remove unnecessary import
* add parquet file verfication
* add backtrace to error
* chore: upgrade opendal to 0.9 and fixed some problems
* rename error
* fix: error description
Co-authored-by: Dennis Zhuang <killme2008@gmail.com >
* feat: region manifest service (#57 )
* feat: adds Manifest API
* feat: impl region manifest service
* refactor: by CR comments
* fix: storage error mod test
* fix: tweak storage cargo
* fix: tweak storage cargo
* refactor: by CR comments
* refactor: rename current_version
* feat: add wal writer (#60 )
* feat: add Wal
* upgrade engine for wal
* fix: unit test for wal
* feat: wal into region
* fix: unix test
* fix clippy
* chore: by cr
* chore: by cr
* chore: prevent test data polution
* chore: by cr
* minor fix
* chore: by cr
* feat: Implement flush (#65 )
* feat: Flush framework
- feat: Add id to memtable
- refactor: Rename MemtableSet/MutableMemtables to MemtableVersion/MemtableSet
- feat: Freeze memtable
- feat: Trigger flush
- feat: Background job pool
- feat: flush job
- feat: Sst access layer
- feat: Custom Deserialize for StringBytes
- feat: Use RegionWriter to apply file metas
- feat: Apply version edit
- chore: Remove unused imports
refactor: Use ParquetWriter to replace FlushTask
refactor: FsAccessLayer takes object store as param
chore: Remove todo from doc comments
feat: Move wal to WriterContext
chore: Fix clippy
chore: Add backtrace to WriteWal error
* feat: adds manifest to region and refactor sst/manifest dir config (#72 )
* feat: adds manifest to region and refactor sst/manifest dir with EngineConfig
* refactor: ensure path ends with '/' in ManifestLogStorage
* fix: style
* refactor: normalize storage directory path and minor changes by CR
* refactor: doesn't need slash any more
* feat: Implement apply_edit() and add timestamp index to schema (#73 )
* feat: Implement VersionControl::apply_edit()
* feat: Add timestamp index to schema
* feat: Implement Schema::timestamp_column()
* feat: persist region metadata to manifest (#74 )
* feat: persist metadata when creating region or sst files
* fix: revert FileMeta comment
* feat: resolve todo
* fix: clippy warning
* fix: revert files_to_remove type in RegionEdit
* feat: impl SizeBasedStrategy for flush (#76 )
* feat: impl SizeBasedStrategy for flush
* doc: get_mutable_limitation
* fix: code style and comment
* feat: align timestamp (#75 )
* feat: align timestamps in write batch
* fix cr comments
* fix timestamp overflow
* simplify overflow check
* fix cr comments
* fix clippy issues
* test: Fix region tests (comment out some unsupported tests) (#82 )
* feat: flush job (#80 )
* feat: flush job
* fix cr comments
* move file name instead of clone
* comment log file test (#84 )
* feat: improve MemtableVersion (#78 )
* feat: improve MemtableVersion
* feat: remove flushed immutable memtables and test MemtableVersion
* refactor: by CR comments
* refactor: clone kv in iterator
* fix: clippy warning
* refactor: Make BatchIterator supertrait of Iterator (#85 )
* refactor: rename Version to ManifestVersion and move out manifest from ShareData (#83 )
* feat: Insert multiple memtables by time range (#77 )
* feat: memtable::Inserter supports insert multiple memtables by time range
* chore: Update timestamp comment
* test: Add tests for Inserter
* test: Fix region tests (comment out some unsupported tests)
* refactor: align_timestamp() use TimestampMillis::aligned_by_bucket()
* chore: rename aligned_by_bucket to align_by_bucket
* fix: Fix compile errors
* fix: sst and manifest dir (#86 )
* Set RowKeyDescriptor::enable_version_column to false by default
* feat: Implement write stall (#90 )
* feat: Implement write stall
* chore: Update comments
* feat: Support reading multiple memtables (#93 )
* feat: Support reading multiple memtables
* test: uncomment tests rely on snapshot read
* feat: wal format (#70 )
* feat: wal codec
* chore: minor fix
* chore: comment
* chore: by cr
* chore: write_batch_codec mod
* chore: by cr
* chore: upgrade proto
* chore: by cr
* fix failing test
* fix failing test
* feat: manifest to wal (#100 )
* feat: write manifest to wal
* chore: sequence into wal
* chore: by cr
* chore: by cr
* refactor: create log store (#104 )
Co-authored-by: dennis zhuang <killme2008@gmail.com >
Co-authored-by: Lei, Huang <6406592+v0y4g3r@users.noreply.github.com >
Co-authored-by: fariygirl <clickmetoday@163.com >
Co-authored-by: Jiachun Feng <jiachun_feng@proton.me >
Co-authored-by: Lei, HUANG <mrsatangel@gmail.com >
* chore: Fix clippy
Co-authored-by: Lei, Huang <6406592+v0y4g3r@users.noreply.github.com >
Co-authored-by: Dennis Zhuang <killme2008@gmail.com >
Co-authored-by: Jiachun Feng <jiachun_feng@proton.me >
Co-authored-by: fariygirl <clickmetoday@163.com >
Co-authored-by: Lei, HUANG <mrsatangel@gmail.com >
2022-07-25 15:26:00 +08:00
dennis zhuang
e78c015fc0
TableEngine and SqlHandler impl ( #45 )
...
* Impl TableEngine, bridge to storage
* Impl sql handler to process insert sql
* fix: minor changes and typo
* test: add datanode test
* test: add table-engine test
* fix: code style
* refactor: split out insert mod from sql and minor changes by CR
* refactor: replace with_context with context
2022-06-17 11:36:49 +08:00
evenyag
4171173b76
feat: Support creating in memory region and writing to memtable ( #40 )
...
* chore(store-api): Fix typo in region comments
* feat(storage): Init storage crate
* feat(store-api): Make some method async
* feat(storage): Blank StorageEngine implementation
* feat(storage): StorageEngine returns owned SchemaRef
* feat: pub use arrow in datatypes
* feat(store-api): Implement RegionMetadata
* feat(storage): Impl create region in memory.
* chore(object-store): Format cargo toml
* chore(storage): Log on region created
* feat: Impl CowCell
* feat: Store id to cf meta mapping
* refactor: Refactor version and rename it to VersionControl
* feat: Impl write batch for put, refactor column family
* feat(storage): Skeleton of writing to memtable
* refactor(storage): MemTable returns MemTableSchema
* feat: Add ColumnSchema and conversion between schema and arrow's schema
* feat: Validate put data
* feat: Valid schema of write batch
* feat: insert memtable WIP
* feat: Impl Inserter for memtable
* feat(datatypes): Implement Eq/Ord for Value
feat: Implement Ord/Eq for Bytes/StringBytes and Deref for Bytes
test: Test Value::from()
* feat: Define BTreeMemTable
* Fix: Rename get/get_unchecked to try_get/get and fix get not consider null.
* feat: Impl BTreeMemTable::write()
* refactor: Remove useless ColumnFamilyHandle now
* chore: Clean comment
* feat(common): Add from `String/&str/Vec<u8>/&[u8]` for Value
* test(storage): Add tests for WriteBatch
* chore: Fix clippy
* feat: Add builder for RowKey/ColumnFamilyDescriptor
* test: Add test for metadata
* chore: Fix clippy
* test: Add test for region and engine
* chore: Fix clippy
* chore: Address CR comment
2022-06-09 16:50:02 +08:00
evenyag
5f48b4996b
chore: Address CR comments
2022-05-09 11:52:01 +08:00
evenyag
56258d6821
test: Add more test for opaque error
2022-05-07 15:45:46 +08:00
evenyag
99c7ffb456
refactor: Define error for memory catalog
2022-05-07 14:13:31 +08:00
evenyag
63d9aa1bff
refactor: Refactor datanode error and impl ErrorExt for it
2022-05-07 11:34:23 +08:00
evenyag
7e2e3e3429
feat: Impl ErrorExt for opaque error and ParseError
2022-05-06 20:04:16 +08:00
evenyag
aa1a6b2205
feat: Add common-error crate and implement opaque error type.
2022-05-06 20:04:14 +08:00