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

Merge rdsn and Pegasus #1053

Closed
10 tasks done
acelyc111 opened this issue Jul 17, 2022 · 2 comments
Closed
10 tasks done

Merge rdsn and Pegasus #1053

acelyc111 opened this issue Jul 17, 2022 · 2 comments
Assignees

Comments

@acelyc111
Copy link
Member

acelyc111 commented Jul 17, 2022

Although rdsn and Pegasus have been merged to one repo, there are still many work left to do:

  • unify th clang-format tools
  • remove run.sh in rdsn
  • unify the workflows
  • unify the CMakelists.txt
  • Unify build and test shell scripts to run.sh
  • Move some common files out of rdsn directory
  • reduce rebuilding time cost
  • Unify the cmake of rdsn and pegasus
  • move files in 'include' dir of rdsn to the src pf rdsn
  • refactor(rdsn): flatten source code directory by moving files from 'src/rdsn/src/' to 'src/'
@acelyc111 acelyc111 self-assigned this Jul 26, 2022
@acelyc111 acelyc111 reopened this Jul 27, 2022
@acelyc111 acelyc111 pinned this issue Jul 27, 2022
@acelyc111
Copy link
Member Author

acelyc111 commented Oct 19, 2022

Refactor directories

After the xiaomi/rdsn project has been merged into the Pegasus project, the rdsn source code directory structure is kept as before in the original repository. But it's just a temporary status, we are planning to integrate the two projects closer in the long-term plan.

The following things I'm going to do is moving source code directories from src/rdsn/src/* to src/*, for example, src/rdsn/src/runtime/api_task.h will be moved to src/runtime/api_task.h, this change will make the source structure more simple and easier to understand and accept by more new comer of Pegasus.

Of course, it's just one step of the whole refactory plan, the src/rdsn/include/* files have been moved to the places where they are more related to by pull request [1]. And there will be more refactor pull requests to modularize the source files in the future.

However, this change will influence hundreds of files, their paths will be changed, even though there are no functional changes. This change is presented by this [2] pull request.

Keep in mind that this is not the final view of the structure, we will do more small adjusticement in the future.

Directories in src before this refactor:

.
├── base
│   └── test
├── client_lib
├── geo
│   ├── bench
│   ├── lib
│   └── test
├── include
│   ├── pegasus
│   └── rrdb
├── rdsn
│   └── src
│       ├── aio
│       │   └── test
│       ├── block_service
│       │   ├── fds
│       │   ├── hdfs
│       │   ├── local
│       │   └── test
│       ├── client
│       ├── common
│       │   ├── serialization_helper
│       │   └── test
│       ├── failure_detector
│       │   └── test
│       ├── http
│       │   └── test
│       ├── meta
│       │   ├── duplication
│       │   └── test
│       │       ├── balancer_simulator
│       │       ├── meta_state
│       │       └── misc
│       ├── nfs
│       │   └── test
│       ├── perf_counter
│       │   └── test
│       ├── remote_cmd
│       ├── replica
│       │   ├── backup
│       │   │   └── test
│       │   ├── bulk_load
│       │   │   └── test
│       │   ├── duplication
│       │   │   └── test
│       │   ├── split
│       │   │   └── test
│       │   ├── storage
│       │   │   └── simple_kv
│       │   │       └── test
│       │   └── test
│       ├── runtime
│       │   ├── rpc
│       │   ├── security
│       │   ├── task
│       │   └── test
│       ├── tools
│       ├── utils
│       │   ├── absl
│       │   │   ├── base
│       │   │   │   └── internal
│       │   │   └── utility
│       │   ├── hpc_locks
│       │   ├── long_adder_bench
│       │   └── test
│       │       └── nth_element_bench
│       └── zookeeper
│           └── test
├── redis_protocol
│   ├── proxy
│   ├── proxy_lib
│   └── proxy_ut
├── reporter
├── sample
├── server
│   └── test
├── shell
│   ├── commands
│   ├── linenoise
│   └── sds
└── test
    ├── bench_test
    ├── function_test
    │   ├── backup_restore_test
    │   ├── base_api_test
    │   ├── bulk_load_test
    │   ├── detect_hotspot_test
    │   ├── partition_split_test
    │   ├── recovery_test
    │   ├── restore_test
    │   ├── throttle_test
    │   └── utils
    ├── kill_test
    └── pressure_test

Directories in src after this refactor:

.
├── aio
│   └── test
├── base
│   └── test
├── block_service
│   ├── fds
│   ├── hdfs
│   ├── local
│   └── test
├── client
├── client_lib
├── common
│   ├── serialization_helper
│   └── test
├── failure_detector
│   └── test
├── geo
│   ├── bench
│   ├── lib
│   └── test
├── http
│   └── test
├── include
│   ├── pegasus
│   └── rrdb
├── meta
│   ├── duplication
│   └── test
│       ├── balancer_simulator
│       ├── meta_state
│       └── misc
├── nfs
│   └── test
├── perf_counter
│   └── test
├── redis_protocol
│   ├── proxy
│   ├── proxy_lib
│   └── proxy_ut
├── remote_cmd
├── replica
│   ├── backup
│   │   └── test
│   ├── bulk_load
│   │   └── test
│   ├── duplication
│   │   └── test
│   ├── split
│   │   └── test
│   ├── storage
│   │   └── simple_kv
│   │       └── test
│   └── test
├── reporter
├── runtime
│   ├── rpc
│   ├── security
│   ├── task
│   └── test
├── sample
├── server
│   └── test
├── shell
│   ├── commands
│   ├── linenoise
│   └── sds
├── test
│   ├── bench_test
│   ├── function_test
│   │   ├── backup_restore_test
│   │   ├── base_api_test
│   │   ├── bulk_load_test
│   │   ├── detect_hotspot_test
│   │   ├── partition_split_test
│   │   ├── recovery_test
│   │   ├── restore_test
│   │   ├── throttle_test
│   │   └── utils
│   ├── kill_test
│   └── pressure_test
├── tools
├── utils
│   ├── absl
│   │   ├── base
│   │   │   └── internal
│   │   └── utility
│   ├── hpc_locks
│   ├── long_adder_bench
│   └── test
│       └── nth_element_bench
└── zookeeper
    └── test
  1. refactor(rdsn): remove 'include' directory in rdsn #1189
  2. refactor(rdsn): flatten source code directory by moving files from 'src/rdsn/src/*' to 'src/*' #1190

@acelyc111
Copy link
Member Author

Now the "merge" work has been completed almostly, the following work is refactory the code.

@acelyc111 acelyc111 unpinned this issue Nov 8, 2022
ZhongChaoqiang pushed a commit to ZhongChaoqiang/incubator-pegasus that referenced this issue Nov 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant