-
Notifications
You must be signed in to change notification settings - Fork 134
[CBRD-26463] [POC] support replication for OOS #6813
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
Changes from all commits
f8e983c
d0d3d68
220b69c
564c9e6
415b6b2
090f18e
48b4baa
0159885
37bde9f
9965909
91358a7
519a997
285bfdf
0ce70ba
b70e2ae
8eb3e54
3ec48b9
22eeece
b94ee64
2f8672e
e01dd69
44f36a9
78f70ca
5865aba
edcee87
31997fc
8268ad8
4ea2995
dc4016f
28492b8
b2b7bff
b9d391b
035a028
4946e7d
2d37482
40eeaa8
bbc5712
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -31,14 +31,6 @@ | |
| // XXX: SHOULD BE THE LAST INCLUDE HEADER | ||
| #include "memory_wrapper.hpp" | ||
|
|
||
| struct oos_record_header | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. .hpp로 이동 |
||
| { | ||
| int total_size; | ||
| int chunk_index; | ||
| OID next_chunk_oid; | ||
| }; | ||
| using OOS_RECORD_HEADER = struct oos_record_header; | ||
|
|
||
| // **************************************************************************** | ||
| // static functions | ||
| // **************************************************************************** | ||
|
|
@@ -674,6 +666,12 @@ oos_rv_redo_insert (THREAD_ENTRY *thread_p, LOG_RCV *rcv) | |
| return NO_ERROR; | ||
| } | ||
|
|
||
| void | ||
| oos_push_oos_oid (THREAD_ENTRY *thread_p, const OID *oid) | ||
| { | ||
| thread_p->oos_oids.push_back (*oid); | ||
| } | ||
|
|
||
| #if defined(CUBRID_UNIT_TEST_ENABLED) | ||
| int | ||
| bridge_oos_get_max_chunk_size_within_page () | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -136,7 +136,9 @@ typedef struct tde_mk_file_item | |
| || (rcvindex) == RVBT_ONLINE_INDEX_UNDO_TRAN_INSERT \ | ||
| || (rcvindex) == RVBT_ONLINE_INDEX_UNDO_TRAN_DELETE \ | ||
| || (rcvindex) == RVOOS_INSERT \ | ||
| || (rcvindex) == RVOOS_DELETE) | ||
| || (rcvindex) == RVOOS_DELETE \ | ||
| || (rcvindex) == RVREPL_OOS_INSERT \ | ||
| || (rcvindex) == RVREPL_OOS_DELETE) | ||
|
Comment on lines
+140
to
+141
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OOS Replication log는 OID를 queue에 넣어 치환하는 작업을 추가로 진행해줘야하기 때문에 rcvindex 타입을 추가하였습니다. |
||
|
|
||
| #define tde_er_log(...) if (prm_get_bool_value (PRM_ID_ER_LOG_TDE)) _er_log_debug (ARG_FILE_LINE, "TDE: " __VA_ARGS__) | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -111,16 +111,21 @@ typedef enum | |
| LC_FLUSH_INSERT, | ||
| LC_FLUSH_INSERT_PRUNE, | ||
| LC_FLUSH_INSERT_PRUNE_VERIFY, | ||
| LC_FLUSH_INSERT_OOS, | ||
| LC_FLUSH_DELETE, | ||
| LC_FLUSH_UPDATE, | ||
| LC_FLUSH_UPDATE_PRUNE, | ||
| LC_FLUSH_UPDATE_PRUNE_VERIFY, | ||
| LC_FETCH_VERIFY_CHN | ||
| } LC_COPYAREA_OPERATION; | ||
|
|
||
| /* TODO: | ||
| * Handle LC_FLUSH_INSERT_OOS in LC_IS_FLUSH_INSERT usage to prevent malfunctions. | ||
| * Post-POC, refactor by separating macros or implementing exception handling for OOS call sites. | ||
| */ | ||
| #define LC_IS_FLUSH_INSERT(operation) \ | ||
| (operation == LC_FLUSH_INSERT || operation == LC_FLUSH_INSERT_PRUNE \ | ||
| || operation == LC_FLUSH_INSERT_PRUNE_VERIFY) | ||
| || operation == LC_FLUSH_INSERT_PRUNE_VERIFY || operation == LC_FLUSH_INSERT_OOS) | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. TODO 기술 - LC_IS_FLUSH_INSERT 매크로 사용처에서 LC_FLUSH_INSERT_OOS가 고려되고 있지 않아 오동작 가능성이 열려 있습니다. POC 이후에는 매크로 분리 또는 LC_FLUSH_INSERT_OOS 호출 부에서 예외 처리 등을 고려해 봐야 합니다.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. TODO 기술하였습니다 |
||
|
|
||
| #define LC_IS_FLUSH_UPDATE(operation) \ | ||
| (operation == LC_FLUSH_UPDATE || operation == LC_FLUSH_UPDATE_PRUNE \ | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
heap_file.hpp에 extern으로 선언