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
Source Pipedrive: handle missed cursor_field #24282
Conversation
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
/test connector=connectors/source-pipedrive |
2 similar comments
/test connector=connectors/source-pipedrive |
/test connector=connectors/source-pipedrive |
/test connector=connectors/source-pipedrive
Build PassedTest summary info:
|
updated_state = latest_record.get(self.cursor_field) | ||
if updated_state: | ||
stream_state_value = current_stream_state.get(self.cursor_field) | ||
if stream_state_value: | ||
updated_state = max(updated_state, stream_state_value) | ||
current_stream_state[self.cursor_field] = updated_state | ||
return current_stream_state |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to spec.json replication_start_date
is required and all cursor fields is date fields. So, we can used it as default cursor value. Also please check request_params method (line 62).
updated_state = latest_record.get(self.cursor_field) | |
if updated_state: | |
stream_state_value = current_stream_state.get(self.cursor_field) | |
if stream_state_value: | |
updated_state = max(updated_state, stream_state_value) | |
current_stream_state[self.cursor_field] = updated_state | |
return current_stream_state | |
updated_state = latest_record.get(self.cursor_field, self._replication_start_date) | |
stream_state_value = current_stream_state.get(self.cursor_field, self._replication_start_date) | |
current_stream_state[self.cursor_field] = max(updated_state, stream_state_value) | |
return current_stream_state |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lazebnyi
I have switched replication_start_date
as default if cursor field
is missed in record
about line 62
there is if
condition because in "full refresh" streams self._replication_start_date
still can be None
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
replication_start_date
is required, so I don't see any situations where it can be empty during sync.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we pass only to incremental stream like this
we don't pass to full_refresh streams like this:
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
/test connector=connectors/source-pipedrive
Build PassedTest summary info:
|
airbyte-integrations/connectors/source-pipedrive/source_pipedrive/streams.py
Outdated
Show resolved
Hide resolved
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
/test connector=connectors/source-pipedrive
Build PassedTest summary info:
|
/publish connector=connectors/source-pipedrive
if you have connectors that successfully published but failed definition generation, follow step 4 here |
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com> (cherry picked from commit 164d1c1)
* Source Pipedrive: handle missed cursor_field (airbytehq#24282) Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com> (cherry picked from commit 164d1c1) * chore: remove oauth for pipedrive --------- Co-authored-by: Serhii Chvaliuk <grubberr@gmail.com>
What
Issue: #16376
Issue: https://github.com/airbytehq/alpha-beta-issues/issues/1002
Issue: #23687
Increase
Users.page_size = 500
for Users stream. it seems pagination does not work for Users stream.We cannot reproduce the issue on airbyte testing data. Temporary solution until the more better solution will be found.
Fix issue: Source Pipedrive: stuck reading Users records #23687
Skip re-evaluation state if
cursor_field
is missed in record.Updating a connector
Community member or Airbyter
Grant edit access to maintainers (instructions)
Secrets in the connector's spec are annotated with
airbyte_secret
Unit & integration tests added and passing. Community members, please provide proof of success locally e.g: screenshot or copy-paste unit, integration, and acceptance test output. To run acceptance tests for a Python connector, follow instructions in the README. For java connectors run
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.Code reviews completed
Connector version has been incremented
Dockerfile
has updated versionDocumentation updated
README.md
bootstrap.md
. See description and examplesdocs/integrations/<source or destination>/<name>.md
with an entry for the new version. See changelog examplePR name follows PR naming conventions
Airbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>
command is passing/publish
command described here