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

Support calling tabletserver callbacks at the query layer in a separate thread pool #125

Closed
amitanandaiyer opened this issue Mar 23, 2018 · 1 comment
Assignees
Labels
kind/enhancement This is an enhancement of an existing feature

Comments

@amitanandaiyer
Copy link
Contributor

Currently, callbacks are kicked off in the reactor threads, which is not ideal, since these calls can sometimes take a long time.

Support an option to have a separate thread pool to handle these callbacks.

@amitanandaiyer amitanandaiyer self-assigned this Mar 23, 2018
@rkarthik007 rkarthik007 added the kind/enhancement This is an enhancement of an existing feature label Mar 24, 2018
@amitanandaiyer
Copy link
Contributor Author

for the ybclient layer this is committed in c2555ed

tvesely pushed a commit to tvesely/yugabyte-db that referenced this issue Feb 28, 2024
This wasn't really maintained.  A following commit will instead setup a
markdown documentation, which can be used to generate proper HTML documentation
if needed, and host it on some third-party service if needed.

Pull request yugabyte#125, fixes yugabyte#123

Backpatch-through: 14
Reviewed-by: Michael Paquier
tvesely pushed a commit to tvesely/yugabyte-db that referenced this issue Feb 28, 2024
Markdown format is kept as a main format, relying on python sphinx and
myst_parser to render an HTML documentation if needed.

Note that while markdown is more readable as raw text, it's a way simpler
syntax that lacks a lot of features that reStructuredText offers.  Relying on
sphinx gives us an opportunity to later write parts of the documentation in
reStructuredText if needed, but also offers other appealing features like
multilingual documentation that we may reintroduce in a near future.

Readthedocs is the expected target, so use its theme and follow its
recommendation about pinning various requirement versions.

The documentation can be built locally easily using

make -C docs/ html

The rendered documentation will be generated in docs/html/_build/html

Note that you need to have all python prerequirements installed, which can be
done using:

pip install -r docs/requirements.txt

If you need to update the requirements (which shouldn't be needed frequently),
update the docs/requirements.in and generate the target docs/requirements.txt
using pip-compile.  See the link about this tool below for more details on how
to use it.

As a first step, simply duplicate the README.md for the documentation.

References if you're interested in the various design choices:

- quickstart for RTD with sphinx: https://docs.readthedocs.io/en/stable/intro/getting-started-with-sphinx.html
- reproducible builds: https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
- myst parser: https://myst-parser.readthedocs.io
- pip-tools / pip-compile: https://pip-tools.readthedocs.io
- RTD sphinx theme: https://sphinx-rtd-theme.readthedocs.io

Pull request yugabyte#125, fixes yugabyte#123

Backpatch-through: 14
Reviewed-by: Michael Paquier
tvesely pushed a commit to tvesely/yugabyte-db that referenced this issue Feb 28, 2024
Use a 80 characters line limit, and use sql block code to get slightly better
syntax highlighting.

Pull request yugabyte#125, fixes yugabyte#123

Backpatch-through: 14
Reviewed-by: Michael Paquier
tvesely pushed a commit to tvesely/yugabyte-db that referenced this issue Feb 28, 2024
Pull request yugabyte#125, fixes yugabyte#123

Backpatch-through: 14
Reviewed-by: Michael Paquier
tvesely pushed a commit to tvesely/yugabyte-db that referenced this issue Feb 28, 2024
Pull request yugabyte#125, fixes yugabyte#123

Backpatch-through: 14
Reviewed-by: Michael Paquier
tvesely pushed a commit to tvesely/yugabyte-db that referenced this issue Feb 28, 2024
We rely on python sphinx-intl to handle the translation, using standard .pot /
.po translation files.

The following steps are required each time the translation needs to be updated
(with docs/ as current working directory):

make gettext
sphinx-intl update -p _build/gettext -l ja

Translators can then work on the various .po files generated (or updated) in
docs/locale/ja/LC_MESSAGES/, and the translated documentation can be built
using:

make -e SPHINXOPTS="-D language='ja'" html

Once everything is ok, simply commit the modified files in docs/locale.  Note
that we don't track the .pot files, generated in docs/_build/gettext/.

Pull request yugabyte#125, fixes yugabyte#123

Backpatch-through: 14
Reviewed-by: Michael Paquier
tvesely pushed a commit to tvesely/yugabyte-db that referenced this issue Feb 28, 2024
Now that the docs are split in different files, we need to add myst-parser
specific markups for cross-reference links.

After this patch, there are still 2 problems reported when building the docs:

- the snippet in docs/hint_details.md creating hints_func errors out as the "$"
  character is incompatible with SQL formatting.  Leave it as-is, as the result
  is that sql highlighting is only skipped for this snippet, which would be the
  same if we explicitly removed the sql tag, but we still get a warning to
  remind us about the problem if we want to eventually find a solution.
- there's a link to some "#restrictions" paragraph in docs/hint_table.md, but
  as far as I can see this link has always been dead so I'm not sure what to do
  of it.

Pull request yugabyte#125, fixes yugabyte#123

Backpatch-through: 14
jasonyb pushed a commit that referenced this issue Jun 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement This is an enhancement of an existing feature
Projects
None yet
Development

No branches or pull requests

2 participants