Seeking C++ Project Contribution Guidance
TLDR Peka wants to contribute to a project and seeks resources. Kishore Nallan provides initial guidance and recommends starting with a simple task on the Typesense project. Peka encounters a setup error well into the process.
Nov 25, 2021 (26 months ago)
I am looking to contribute to the project. I have basic knowledge of C++. Could anyone please list out some books, resources etc that i should first go through before delving into the project?
Kishore Nallan03:16 PM
Kishore Nallan03:19 PM
Kishore Nallan03:22 PM
This Dockerfile is used by Typesense to build release builds, so you can just follow this to install the dependencies on Ubuntu: https://github.com/typesense/typesense/blob/single-index-concurrency/docker/development.Dockerfile
Kishore Nallan03:23 PM
Kishore Nallan03:24 PM
Kishore Nallan03:25 PM
Nov 26, 2021 (26 months ago)
Kishore Nallan04:56 AM
This is where we process the fields: https://github.com/typesense/typesense/blob/single-index-concurrency/include/field.h#L197
We need to add a check for field name duplication in that function. The function already does other validations, so you can see how to return an error, which will be automatically handled by higher layers to send back to the API. The error code like "400" follow HTTP status code, which is "Bad Request" in the case of 400. Once you have a basic skeleton, you can try testing it on the API, and if that works I can then explain about adding a test for this.
Kishore Nallan05:02 AM
-static-libgcc -static-libstdc++-- might have to add a flag for dev builds to not do that. For e.g. the Apple target does not statically link to those like the Linux target here: https://github.com/typesense/typesense/blob/single-index-concurrency/CMakeLists.txt#L156
Nov 30, 2021 (26 months ago)
Kishore Nallan03:43 AM
Kishore Nallan08:10 AM
Kishore Nallan08:11 AM
build.shwhich is without Docker.
Indexed 3011 threads (79% resolved)
Contributions to Typesense Source Code Setup
Lane proposed a PR to add braft and brpc to the make list to enhance the source code setup for Typesense. Kishore Nallan agreed it'd simplify things, and addressed Lane's linking issues.
Resolving Issues with Infix and Prefix in Query Searches
Daren struggled with searches missing values in production. Jason and Kishore Nallan offered insights and created new features to help solve the problem, which was then tested and deployed by Daren.
Trouble Running Typesense Docker Image on AMD Phenom II X4 955 Processor
Ian struggles to run Typesense on an AMD Phenom II X4 955 Processor, experiencing the docker image to shut down immediately upon startup. Jason and Kishore Nallan suggest multiple troubleshooting steps, identifying the potential issue as the processor's lack of support for MSSE4 flags.
ARM Support for Typesense on AWS Graviton Servers
Tatu inquires on ARM support for Typesense. Kishore Nallan informs it's on the roadmap with end of year completion. After some troubleshooting, they successfully test an ARM build, preparing it for the 0.23 release.
Suggestions on Modifying Typesense Github Repository
Tapasweni inquires Kishore Nallan about changes in a Typesense repository issue. Kishore Nallan provides comprehensive guidance and suggests working on the single-index-concurrency branch using Ubuntu 20.