Seeking Guidance and Resources for a FoundationDB Project

Hello FoundationDB Community,

I’m currently working on a project for my class where I’m learning to modify the FoundationDB source code. I’m fairly new to this and would appreciate any pointers or resources you might share. My goal isn’t to have someone solve this for me, but rather to get some direction on how to approach it.

The project involves writing a Flow actor file in FoundationDB’s server section, intended as a basic hash map storage system. Additionally, I need to create client files in both Java and C++ that interact with this server-side hash map for basic operations like write, get, and delete.

My main challenge is to ensure the client files can successfully communicate with the server and perform these operations. I’ve started by adding a new file in the foundationdb-main/flow/ directory and updating the CMakeLists.txt file accordingly. However, building the project post these changes has led to numerous errors that I’m struggling to understand.

I’m also unsure about how to establish a connection between the client and server files. One idea was to possibly integrate this with fdbcli, but I’m not sure if that’s appropriate.

Could you suggest any documentation, tutorials, or examples that might help me understand these processes better? Tips on troubleshooting common issues or understanding CMake integration in such projects would be especially helpful.

I’m here to learn, and any guidance you can provide would be greatly appreciated. Thank you for your time and help.

Our flow tutorial does basically what you describe:

The trickier part will be the interfacing with Java (or any other language really). You’ll need to do something similar to the C client API we provide