Skip to content

checkpointed confluence #4473

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

Merged
merged 5 commits into from
Apr 15, 2025
Merged

Conversation

evan-danswer
Copy link
Contributor

@evan-danswer evan-danswer commented Apr 7, 2025

Description

Addresses https://linear.app/danswer/issue/DAN-1703/checkpointed-confluence-connector

Checkpointing for the confluence connector. Creates a new checkpoint each time the previous version of the connector would have finished a batch.

How Has This Been Tested?

tested in UI and unit tests

Backporting (check the box to trigger backport action)

Note: You have to check that the action passes, otherwise resolve the conflicts manually and tag the patches.

  • This PR should be backported (make sure to check that the backport attempt succeeds)
  • [Optional] Override Linear Check

@evan-danswer evan-danswer requested a review from a team as a code owner April 7, 2025 23:16
Copy link

vercel bot commented Apr 7, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
internal-search ✅ Ready (Inspect) Visit Preview 💬 Add feedback Apr 14, 2025 11:20pm

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

PR Summary

This PR integrates a new checkpointing mechanism for multiple connectors, replacing CheckpointConnector with the new CheckpointedConnector interface and standardizing checkpoint management across the codebase.

  • Updated backend/onyx/connectors/factory.py to support CheckpointedConnector for POLL input types.
  • Modified backend/onyx/connectors/connector_runner.py to enforce time_range and wrap outputs with CheckpointOutputWrapper.
  • Refactored backend/onyx/background/indexing/checkpointing_utils.py for updated checkpoint validation and loading.
  • Adjusted key connectors (Confluence, GitHub, GoogleDrive, etc.) to increment checkpoints per batch with enhanced error propagation.
  • Test files now use utilities like load_all_docs_from_checkpoint_connector for thorough validation.

15 file(s) reviewed, no comment(s)
Edit PR Review Bot Settings | Greptile

if not self.continue_on_failure:
if _should_propagate_error(e):
raise
# TODO: should we remove continue_on_failure entirely now that we have checkpointing?
Copy link
Contributor

Choose a reason for hiding this comment

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

yes, I think so!

@evan-danswer evan-danswer added this pull request to the merge queue Apr 14, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Apr 14, 2025
@evan-danswer evan-danswer force-pushed the confluence-checkpointed-connector branch from 11a806c to 5b5c35b Compare April 14, 2025 23:17
@evan-danswer evan-danswer enabled auto-merge April 14, 2025 23:28
@evan-danswer evan-danswer added this pull request to the merge queue Apr 14, 2025
Merged via the queue into main with commit ae9f8c3 Apr 15, 2025
10 of 11 checks passed
@evan-danswer evan-danswer deleted the confluence-checkpointed-connector branch April 15, 2025 00:43
alex-usher pushed a commit to dialin-ai/dialin-search that referenced this pull request Apr 17, 2025
* checkpointed confluence

* confluence checkpointing tested

* fixed integration tests

* attempt to fix connector test flakiness

* fix rebase
alex-usher added a commit to dialin-ai/dialin-search that referenced this pull request Apr 17, 2025
* rollback properly on exception (onyx-dot-app#4073)

* rollback properly on exception

* rollback on exception

* don't continue if we can't set the search path

* cleaner handling via context manager

---------

Co-authored-by: Richard Kuo (Danswer) <[email protected]>

* cohere validation logic update (onyx-dot-app#4523)

* fix font for dark mode (onyx-dot-app#4527)

* Fix onyx-dot-app#3764: Dynamically handle default branch in GitLab connector

* Fix black

* k (onyx-dot-app#4525)

* checkpointed confluence (onyx-dot-app#4473)

* checkpointed confluence

* confluence checkpointing tested

* fixed integration tests

* attempt to fix connector test flakiness

* fix rebase

* extra logging for uncommon permissions cases (onyx-dot-app#4532)

* extra logging for uncommon permissions cases

* address CW comments

* Feature/celery beat watchdog (onyx-dot-app#4534)

* upgrade celery to release version

* make the watchdog script more reusable

* use constant

* code review

* catch interrupt

---------

Co-authored-by: Richard Kuo (Onyx) <[email protected]>

* Miscellaneous cleanup (onyx-dot-app#4516)

* stricter typing

* k

* Small no-letsencrypt improvement

* Remove alert upon submission (onyx-dot-app#4537)

* Fix confluence perm sync ancestry (onyx-dot-app#4536)

* Fix confluence perm sync ancestry

* Address EL comments

* add test for special case

* remove print

* Fix test

* Fix bug with saml validation (onyx-dot-app#4522)

* fix bug with saml validation

* k

* Changes base containers to dialin AI

* add 4.1 (onyx-dot-app#4540)

* fix re-processing of previously seen docs Confluence (onyx-dot-app#4544)

* fix re-processing of previously seen docs

* performance

* Skip image files for S3 (onyx-dot-app#4535)

* skip image files

* process images s3

* tests

* k

* update

* nit

* update

* rollback properly on exception (onyx-dot-app#4073)

* rollback properly on exception

* rollback on exception

* don't continue if we can't set the search path

* cleaner handling via context manager

---------

Co-authored-by: Richard Kuo (Danswer) <[email protected]>

* cohere validation logic update (onyx-dot-app#4523)

* Fix onyx-dot-app#3764: Dynamically handle default branch in GitLab connector

* Fix black

* k (onyx-dot-app#4525)

* fix font for dark mode (onyx-dot-app#4527)

* checkpointed confluence (onyx-dot-app#4473)

* checkpointed confluence

* confluence checkpointing tested

* fixed integration tests

* attempt to fix connector test flakiness

* fix rebase

* extra logging for uncommon permissions cases (onyx-dot-app#4532)

* extra logging for uncommon permissions cases

* address CW comments

* Feature/celery beat watchdog (onyx-dot-app#4534)

* upgrade celery to release version

* make the watchdog script more reusable

* use constant

* code review

* catch interrupt

---------

Co-authored-by: Richard Kuo (Onyx) <[email protected]>

* Miscellaneous cleanup (onyx-dot-app#4516)

* stricter typing

* k

* Small no-letsencrypt improvement

* Remove alert upon submission (onyx-dot-app#4537)

* Fix confluence perm sync ancestry (onyx-dot-app#4536)

* Fix confluence perm sync ancestry

* Address EL comments

* add test for special case

* remove print

* Fix test

* Fix bug with saml validation (onyx-dot-app#4522)

* fix bug with saml validation

* k

* add 4.1 (onyx-dot-app#4540)

* fix re-processing of previously seen docs Confluence (onyx-dot-app#4544)

* fix re-processing of previously seen docs

* performance

* Skip image files for S3 (onyx-dot-app#4535)

* skip image files

* process images s3

* tests

* k

* update

* nit

* update

* Changes base containers to dialin AI

---------

Co-authored-by: rkuo-danswer <[email protected]>
Co-authored-by: Richard Kuo (Danswer) <[email protected]>
Co-authored-by: pablonyx <[email protected]>
Co-authored-by: evan-danswer <[email protected]>
Co-authored-by: ThomaciousD <[email protected]>
Co-authored-by: Weves <[email protected]>
Co-authored-by: Raunak Bhagat <[email protected]>
Co-authored-by: Chris Weaver <[email protected]>
Co-authored-by: Alex Usher <[email protected]>
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.

2 participants