-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Mixpanel: Filtering out individual items based on datetime in state #15091
Conversation
/test connector=connectors/source-mixpanel
Build FailedTest summary info:
|
# Conflicts: # airbyte-integrations/connectors/source-mixpanel/source_mixpanel/streams/export.py
/test connector=connectors/source-mixpanel |
@marcosmarxm am I doing something wrong trying to initialize those test you did? |
@Kopiczek sorry the delay here, I'll take a look. |
/test connector=connectors/source-mixpanel |
/test connector=connectors/source-mixpanel
Build FailedTest summary info:
|
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.
Unit test are broken @Kopiczek please implement a new unit test
airbyte-integrations/connectors/source-mixpanel/unit_tests/test_streams.py
Outdated
Show resolved
Hide resolved
@marcosmarxm This should be working now. All unit tests passing locally |
/test connector=connectors/source-mixpanel
Build FailedTest summary info:
|
Sorry for all the back and forth. We do the same, forgot to include that in the test and hardcoded my local timezone into expected result |
/test connector=connectors/source-mixpanel
Build PassedTest summary info:
|
@marcosmarxm is there anything else you need for this to be merged? |
@roman-yermilov-gl can you do the final review here? |
@marcosmarxm need your approval as well since you requested changes. |
@Kopiczek can you bump the Dockerfile version and documentation, I'll publish after it |
@marcosmarxm done |
/publish connector=connectors/source-mixpanel
if you have connectors that successfully published but failed definition generation, follow step 4 here |
…15091) * Mixpanel: Filtering out individual items based on datetime in state * Mixpanel: Filtering out individual items based on datetime in state * Mixpanel: Use where API option to further filter out events * Fixing unit tests * Fixing unit test timezone issues * Version bump + docs * auto-bump connector version [ci skip] Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
What
Mixpanel export API allow to filter based on DATE (without the time portion).
This means that if a sync is run multiple times a day, we keep duplicating the same data over and over.
This change filters the records after getting them from source.
How
This is done on export stream only by comparing the cursor field of each record to stream state.
Recommended reading order
exports.py
base.py
🚨 User Impact 🚨
Are there any breaking changes? What is the end result perceived by the user? If yes, please merge this PR with the 🚨🚨 emoji so changelog authors can further highlight this if needed.
Pre-merge Checklist
Expand the relevant checklist and delete the others.
Updating a connector
Community member or Airbyter
airbyte_secret
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.README.md
bootstrap.md
. See description and examplesdocs/integrations/<source or destination>/<name>.md
including changelog. See changelog exampleTests
Unit
Test that verifies that a record is filtered by state.
Integration
N/A
Acceptance
N/A