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

Release/32 #64

Merged
merged 52 commits into from
Feb 3, 2022
Merged

Release/32 #64

merged 52 commits into from
Feb 3, 2022

Conversation

DownstreamDataTeam
Copy link
Contributor

Description of change

When extracting loan accounts using both the Last Modified Date filter and Account Appraisal Date filter, records with appraisal date after the bookmark are skipped if their Last Modified Date is older than the bookmark.

Manual QA steps

  • Ran before & after using a set start date (and tested also with bookmark) and compared the results, which included new records after the change

Risks

Rollback steps

  • revert this branch

Radu Marinoiu and others added 30 commits November 22, 2021 13:29
Testing jira integration
ECDDC-476

See merge request mambucom/product/ecosystem/mambu-marketplace/connectors/singer/tap-mambu!7
ECDDC-476 Added record_count to refactor

See merge request mambucom/product/ecosystem/mambu-marketplace/connectors/singer/tap-mambu!9
…kback_window for the loan_transactions stream
…/32'

[ECDDC-500] Lookback window bug fix

See merge request mambucom/product/ecosystem/mambu-marketplace/connectors/singer/tap-mambu!10
…'release/32'"

This reverts merge request !10
Testing jira integration
Radu Marinoiu and others added 16 commits January 3, 2022 19:34
…kback_window for the loan_transactions stream
…'release/32'"

This reverts merge request !10
…se/32'

[ECDDC-519] Refactor loan repayments stream

See merge request mambucom/product/ecosystem/mambu-marketplace/connectors/singer/tap-mambu!11
…-date-bug' into 'release/32'

Bugfix for records ignored when filtering by modified_date on records obtained

See merge request mambucom/product/ecosystem/mambu-marketplace/connectors/singer/tap-mambu!20
@cmerrick
Copy link
Contributor

cmerrick commented Feb 2, 2022

Hi @DownstreamDataTeam, thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes.

Copy link
Contributor

@dmosorast dmosorast left a comment

Choose a reason for hiding this comment

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

@DownstreamDataTeam I ran through the tap-tester test suite and it looks like the start date and bookmarks tests are now failing with a value difference.

======================================================================
FAIL: test_run (test_bookmarks.BookmarksTest) (stream='loan_accounts')
Verify that we can get multiple pages of data for each stream
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/opt/code/tap-mambu/tests/test_bookmarks.py", line 92, in test_run
    self.assertEqual(first_sync_bookmark_value,
AssertionError: '2021-06-08T07:55:28.000000Z' != '2022-02-02T08:11:38.000000Z'
- 2021-06-08T07:55:28.000000Z
?    ^  ^  ^  ^ ^^ ^
+ 2022-02-02T08:11:38.000000Z
?    ^  ^  ^  ^ ^^ ^


======================================================================
FAIL: test_run (test_start_date.StartDateTest) (stream='loan_accounts')
Verify that running a sync, then moving the start date into the
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/opt/code/tap-mambu/tests/test_start_date.py", line 146, in test_run
    self.assertGreaterEqual(
AssertionError: datetime.datetime(2019, 8, 26, 14, 23, 44, tzinfo=<UTC>) not greater than or equal to datetime.datetime(2021, 1, 1, 0, 0, tzinfo=<UTC>)

----------------------------------------------------------------------
Ran 6 tests in 488.085s

FAILED (failures=2)

It seems like this might be related to both fields being involved in the bookmarking strategy now, but in any case, the test failures should be addressed before I feel confident merging this. Thank you!

Radu Marinoiu and others added 5 commits February 3, 2022 15:19
…-date-bug' into 'release/32'

Bugfix/ecddc 559 release 32 fix loan accounts appraisal date bug

See merge request mambucom/product/ecosystem/mambu-marketplace/connectors/singer/tap-mambu!22
upper_bound = strptime_to_utc(second_sync_bookmark_value)
record = message.get('data')
actual_values = [strptime_to_utc(record.get(replication_key))
Copy link
Contributor

@dmosorast dmosorast Feb 3, 2022

Choose a reason for hiding this comment

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

This is sort of an intereting case, since I don't think we've ever used two fields for a replication key before. This use case is a sort of key1 OR key2 approach, rather than a key1 AND key2 approach (like would be the case for a composite primary key).

The replication key metadata in a SaaS tap is mostly informational, so that may not be an issue, but it's an interesting piece that I hadn't considered. What folks have done in the past where the max of two fields is the replication key would be to consolidate them into a single manufactured field (like row_updated or something) and bookmark based on that, but this approach seems more fine grained as far as state goes, so I'm leaning towards it being good as-is. I just wanted to raise that as a consideration on my end.

Tests passed locally, so I'm good to release this now.

@dmosorast dmosorast merged commit 189a3b1 into singer-io:master Feb 3, 2022
@singer-bot
Copy link

You did it @DownstreamDataTeam!

Thank you for signing the Singer Contribution License Agreement.

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.

4 participants