Skip to content

docs: fix 17 broken links in manual, FAQ, and upgrade guide#926

Open
nikagra wants to merge 1 commit into
scylladb:scylla-4.xfrom
nikagra:fix/broken-links-204
Open

docs: fix 17 broken links in manual, FAQ, and upgrade guide#926
nikagra wants to merge 1 commit into
scylladb:scylla-4.xfrom
nikagra:fix/broken-links-204

Conversation

@nikagra

@nikagra nikagra commented Jun 16, 2026

Copy link
Copy Markdown

Fixes scylladb/scylladb-docs-homepage#204

Summary

Repairs all 17 broken links identified in the docs-homepage issue. Changes fall into two categories.


Straightforward fixes (typos / moved pages)

File Fix
faq/README.md, upgrade_guide/README.md loadbalancingload_balancing path segment
manual/core/non_blocking/README.md Remove stray trailing backtick from SyncCqlSession URL
manual/developer/common/concurrency/README.md Same trailing backtick fix
manual/core/reactive/README.md Remove trailing ] from DataStax devapp URL
manual/core/statements/batch/README.md http://https://; replace dead DSE 6.7 batch page with canonical Cassandra CQL DML docs
manual/core/query_timestamps/README.md Replace dead DSE 6.0 LWT page with canonical Cassandra CQL DML docs
manual/mapper/entities/README.md Fix malformed ?#aliases anchor and update to current Cassandra DML docs URL
manual/mapper/daos/queryprovider/README.md Add missing /entity/ path segment in EntityHelper Javadoc URL

Opinionated fixes (replacement content chosen)

File Fix Rationale
README.md Replace defunct maven-badges.herokuapp.com badge with shields.io linking to central.sonatype.com The heroku app is gone; shields.io is the standard replacement
manual/core/load_balancing/README.md Replace dead DataStax fault-tolerance whitepaper PDF with YouTube video (https://www.youtube.com/watch?v=NT2-i3u5wo0) The PDF is gone; this is the closest available substitute
manual/core/graalvm/README.md Update GraalVM native-image resources URL to current path; drop hyperlinks from DSE geotypes and DSE Graph entries Those DSE pages don't exist in the Scylla driver docs; prose text preserved
manual/core/metrics/README.md Update Micrometer JMX registry URL from micrometer.io/docs/registry/jmx to docs.micrometer.io/micrometer/reference/implementations/jmx.html Old URL is a redirect loop; new URL is live
manual/developer/netty_pipeline/README.md Rename ### InFlightHandler heading → ### In-Flight Handler The existing cross-reference in request_execution/README.md already uses anchor #in-flight-handler; this aligns the heading to it

Verification

Validated via a local make -C docs linkcheck run. The run also surfaced 18 additional pre-existing broken links unrelated to this PR; those are tracked separately in scylladb/scylladb-docs-homepage#220.

@nikagra nikagra requested a review from mykaul June 16, 2026 13:09
@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: af6e4024-59c5-4f02-a6c0-043f351650b2

📥 Commits

Reviewing files that changed from the base of the PR and between faafe05 and 1766679.

📒 Files selected for processing (14)
  • README.md
  • faq/README.md
  • manual/core/graalvm/README.md
  • manual/core/load_balancing/README.md
  • manual/core/metrics/README.md
  • manual/core/non_blocking/README.md
  • manual/core/query_timestamps/README.md
  • manual/core/reactive/README.md
  • manual/core/statements/batch/README.md
  • manual/developer/common/concurrency/README.md
  • manual/developer/netty_pipeline/README.md
  • manual/mapper/daos/queryprovider/README.md
  • manual/mapper/entities/README.md
  • upgrade_guide/README.md
✅ Files skipped from review due to trivial changes (11)
  • manual/core/non_blocking/README.md
  • manual/core/metrics/README.md
  • manual/mapper/daos/queryprovider/README.md
  • faq/README.md
  • manual/developer/netty_pipeline/README.md
  • manual/mapper/entities/README.md
  • manual/core/query_timestamps/README.md
  • README.md
  • manual/developer/common/concurrency/README.md
  • manual/core/graalvm/README.md
  • manual/core/load_balancing/README.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • manual/core/reactive/README.md
  • upgrade_guide/README.md

📝 Walkthrough

Walkthrough

This PR fixes 17 broken links across the documentation, as identified by an automated link-check workflow. Changes include: updating the Maven Central badge URL to central.sonatype.com; correcting internal cross-references from loadbalancing to load_balancing in two files; replacing stale external URLs for GraalVM Resources, Micrometer JMX, Lightweight transactions, batch operations, aliases, and EntityHelper Javadoc; converting removed GraalVM feature links to plain text; removing a broken white paper PDF reference; fixing malformed Markdown link definitions with stray trailing characters in three files; and renaming a section heading from InFlightHandler to In-Flight Handler.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main objective of the PR: fixing 17 broken documentation links across multiple files.
Description check ✅ Passed The description thoroughly explains the changes, categorizes them into straightforward and opinionated fixes, provides detailed rationale, and references verification steps via linkcheck.
Linked Issues check ✅ Passed The PR successfully addresses all 17 broken links identified in issue #204, including path corrections, URL updates, malformed character removals, and replacement of dead resources with valid alternatives.
Out of Scope Changes check ✅ Passed All changes are directly related to fixing the 17 broken links reported in issue #204; no out-of-scope modifications were introduced.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@manual/core/statements/batch/README.md`:
- Line 86: The batch_dse link reference in the README.md file points to a
non-existent anchor on the target Apache Cassandra documentation page. Update
the URL in the batch_dse link definition to reference the correct Apache
Cassandra CQL documentation page where the BATCH statement is actually
documented, removing or correcting the anchor reference that does not exist on
the DML page. Verify the corrected link resolves to the actual BATCH statement
documentation in the Apache Cassandra CQL reference.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 9ca8e671-89fa-40a7-b91e-67bac85c7991

📥 Commits

Reviewing files that changed from the base of the PR and between 1d65bce and faafe05.

📒 Files selected for processing (14)
  • README.md
  • faq/README.md
  • manual/core/graalvm/README.md
  • manual/core/load_balancing/README.md
  • manual/core/metrics/README.md
  • manual/core/non_blocking/README.md
  • manual/core/query_timestamps/README.md
  • manual/core/reactive/README.md
  • manual/core/statements/batch/README.md
  • manual/developer/common/concurrency/README.md
  • manual/developer/netty_pipeline/README.md
  • manual/mapper/daos/queryprovider/README.md
  • manual/mapper/entities/README.md
  • upgrade_guide/README.md

Comment thread manual/core/statements/batch/README.md Outdated
[BatchStatement.newInstance()]: https://docs.datastax.com/en/drivers/java/4.17/com/datastax/oss/driver/api/core/cql/BatchStatement.html#newInstance-com.datastax.oss.driver.api.core.cql.BatchType-
[BatchStatement.builder()]: https://docs.datastax.com/en/drivers/java/4.17/com/datastax/oss/driver/api/core/cql/BatchStatement.html#builder-com.datastax.oss.driver.api.core.cql.BatchType-
[batch_dse]: http://docs.datastax.com/en/dse/6.7/cql/cql/cql_using/useBatch.html
[batch_dse]: https://cassandra.apache.org/doc/latest/cassandra/developing/cql/dml.html#batch_statement

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

Does the URL https://cassandra.apache.org/doc/latest/cassandra/developing/cql/dml.html#batch_statement exist and contain batch statement documentation?

💡 Result:

The URL https://cassandra.apache.org/doc/latest/cassandra/developing/cql/dml.html exists and is the official documentation page for Data Manipulation Language (DML) in Apache Cassandra [1][2]. However, this specific URL does not contain an anchor or section titled #batch_statement. While the page covers DML operations such as INSERT, UPDATE, and SELECT [1][2], the BATCH statement is documented separately within the CQL reference sections of the Apache Cassandra documentation [3][4]. The BATCH statement in CQL is a distinct command used to group multiple DML statements into a single atomic operation [5][6]. If you are looking for technical information regarding the BatchStatement class in the Apache Cassandra codebase, that is found in the project's Javadoc [7] or source code repository [8], rather than the user-facing CQL documentation.

Citations:


Fix the batch statement documentation link — the anchor does not exist on the target page.

The URL https://cassandra.apache.org/doc/latest/cassandra/developing/cql/dml.html#batch_statement references a non-existent anchor. While the base DML page exists, the BATCH statement is documented separately in the Apache Cassandra CQL reference sections. Update the link to point to the correct location containing batch statement documentation.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@manual/core/statements/batch/README.md` at line 86, The batch_dse link
reference in the README.md file points to a non-existent anchor on the target
Apache Cassandra documentation page. Update the URL in the batch_dse link
definition to reference the correct Apache Cassandra CQL documentation page
where the BATCH statement is actually documented, removing or correcting the
anchor reference that does not exist on the DML page. Verify the corrected link
resolves to the actual BATCH statement documentation in the Apache Cassandra CQL
reference.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖: The anchor does exist on the page — verified by fetching the HTML directly:

$ curl -s "https://cassandra.apache.org/doc/latest/cassandra/developing/cql/dml.html" | grep -oP 'id="[^"]*batch[^"]*"'
id="batch_statement"

The original URL in the source used #batch-statement (hyphen), which was indeed broken. This commit corrects it to #batch_statement (underscore), which matches the actual anchor on the page. The linkcheck run that preceded this squash confirmed it resolves correctly.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here: provide a link to ScyllaDB resources.
The BATCH statement: https://docs.scylladb.com/manual/stable/cql/dml/batch.html

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done — updated to https://docs.scylladb.com/manual/stable/cql/dml/batch.html.

Comment thread manual/core/load_balancing/README.md Outdated

[application-level failover example]: https://github.com/scylladb/java-driver/blob/scylla-4.x/examples/src/main/java/com/datastax/oss/driver/examples/failover/CrossDatacenterFailover.java
[white paper]: https://www.datastax.com/sites/default/files/content/whitepaper/files/2019-09/Designing-Fault-Tolerant-Applications-DataStax.pdf
[white paper]: https://www.youtube.com/watch?v=NT2-i3u5wo0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would remove this link.

  • We should avoid adding links to unstable resources such as videos on YouTube. Such links tend to be broken again sooner or later.
  • The content on YouTube is not a white paper. And it's definitely not ours (it's by DataStax). We should promote ScyllaDB resources.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done — removed the entire sentence ("To help you explore this option, watch our [white paper].") and deleted the [white paper] link definition. The paragraph now ends at "requires a purpose-built infrastructure."

Comment thread manual/core/query_timestamps/README.md Outdated
[gettimeofday]: http://man7.org/linux/man-pages/man2/settimeofday.2.html
[JNR]: https://github.com/jnr/jnr-posix
[Lightweight transactions]: https://docs.datastax.com/en/dse/6.0/cql/cql/cql_using/useInsertLWT.html
[Lightweight transactions]: https://cassandra.apache.org/doc/latest/cassandra/developing/cql/dml.html#insert-statement

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should provide links to ScyllaDB resources that we control, not external resources.
For the INSERT statement: https://docs.scylladb.com/manual/stable/cql/dml/insert.html

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done — updated to https://docs.scylladb.com/manual/stable/cql/dml/insert.html.

Comment thread manual/mapper/entities/README.md Outdated
[@GetEntity]: https://docs.datastax.com/en/drivers/java/4.17/com/datastax/oss/driver/api/mapper/annotations/GetEntity.html
[@Query]: https://docs.datastax.com/en/drivers/java/4.17/com/datastax/oss/driver/api/mapper/annotations/Query.html
[aliases]: http://cassandra.apache.org/doc/latest/cql/dml.html?#aliases
[aliases]: https://cassandra.apache.org/doc/latest/cassandra/developing/cql/dml.html#aliases

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done — updated to https://docs.scylladb.com/manual/stable/cql/dml/select.html#aliases.

@annastuchlik annastuchlik left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've left some comments.
As a rule, we should avoid linking to external resources if corresponding ScyllaDB resources exist.

Fixes scylladb/scylladb-docs-homepage#204

Straightforward fixes (typos / moved pages):
- faq/README.md, upgrade_guide/README.md: loadbalancing -> load_balancing path
- manual/core/non_blocking/README.md: remove trailing backtick from SyncCqlSession URL
- manual/developer/common/concurrency/README.md: same trailing backtick fix
- manual/core/reactive/README.md: remove trailing ] from DataStax devapp URL
- manual/core/statements/batch/README.md: http -> https; replace dead DSE 6.7 batch
  URL with canonical Cassandra CQL DML docs (#batch_statement anchor)
- manual/core/query_timestamps/README.md: replace dead DSE 6.0 LWT URL with
  canonical Cassandra CQL DML docs
- manual/mapper/entities/README.md: fix malformed ?# anchor and update to current
  Cassandra DML docs URL
- manual/mapper/daos/queryprovider/README.md: add missing /entity/ path segment in
  EntityHelper Javadoc URL

Opinionated fixes (replacement content chosen):
- README.md: replace defunct maven-badges.herokuapp.com badge with shields.io
  pointing to central.sonatype.com
- manual/core/load_balancing/README.md: replace dead DataStax fault-tolerance
  whitepaper PDF with YouTube video (https://www.youtube.com/watch?v=NT2-i3u5wo0)
- manual/core/graalvm/README.md: update GraalVM native-image resources URL to
  current path; drop hyperlinks from DSE geotypes and DSE Graph entries (pages do
  not exist in the Scylla driver docs)
- manual/core/metrics/README.md: update Micrometer JMX registry URL to current
  docs.micrometer.io path
- manual/developer/netty_pipeline/README.md: rename '### InFlightHandler' heading
  to '### In-Flight Handler' to match the existing anchor reference in
  request_execution/README.md

Verified clean (for these changes) via local `make -C docs linkcheck` run.
@nikagra nikagra force-pushed the fix/broken-links-204 branch from faafe05 to 1766679 Compare June 17, 2026 15:54
@nikagra nikagra requested a review from annastuchlik June 17, 2026 15:55
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

Successfully merging this pull request may close these issues.

Java Driver: 17 broken links

2 participants