-
Notifications
You must be signed in to change notification settings - Fork 602
Make schemas back and forth compatible #1552
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
Conversation
Coverage ReportAffected SDKs
Test Logs
NotesHTML coverage reports can be produced locally with Head commit (fe8f6ea1) is created by Prow via merging commits: 2f3447f 7c00efb. |
Binary Size ReportAffected SDKs
Test Logs
NotesHead commit (fe8f6ea1) is created by Prow via merging commits: 2f3447f 7c00efb. |
394a7c3
to
76920cf
Compare
76920cf
to
3f74e10
Compare
3f74e10
to
521bc71
Compare
521bc71
to
5edc500
Compare
5edc500
to
e97855c
Compare
@ashwinraghav: The following test failed, say
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
...main/java/com/google/android/datatransport/runtime/scheduling/persistence/SchemaManager.java
Outdated
Show resolved
Hide resolved
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.
Marking "Request changes" to prevent accidental merge, let's discuss first, specifically the option to "drop if exists" when migrating to v4(it seems that it will resolve all issues)
...main/java/com/google/android/datatransport/runtime/scheduling/persistence/SchemaManager.java
Outdated
Show resolved
Hide resolved
...main/java/com/google/android/datatransport/runtime/scheduling/persistence/SchemaManager.java
Outdated
Show resolved
Hide resolved
...main/java/com/google/android/datatransport/runtime/scheduling/persistence/SchemaManager.java
Outdated
Show resolved
Hide resolved
...main/java/com/google/android/datatransport/runtime/scheduling/persistence/SchemaManager.java
Outdated
Show resolved
Hide resolved
We've decided to minimize the scope of changes for now and roll forward with just dropping the table before creation |
@vkryachko could you please let me know, when these fixes will be released in production?
|
@mkolodiiproexe The fix is out as part of |
@vkryachko I was not able to find that particular dependency. Can you access this link? https://scans.gradle.com/s/rblcgiyzryidc? |
sorry, the actual SDK that contained this bug was |
@mkolodiiproexe these crashes are unrelated to analytics. If you meant crashlytics, they are already available in firebase-crashlytics:17.0.1 |
@ashwinraghav ok, it may be crashlytics. It just started to happen when I added analytics lib. But anyway, how can it be fixed? |
#1548 evidences issues that we have with our Schema Manager when customers go back and forth between versions (here on referred to as Version Fluidity) Thanks @rafikhan .
These are our options:
We are leaning towards option 2
Design considerations
We have modified migrations (history), which is typically a red flag. However since we have modeled db creation as running all migrations(replaying history), there's not a cleaner way forward.
Modifications to existing migrations involves one of two things
Version compatibility
The migrations and tests are no longer representative of this compatibility since we essentially changing history.
Version Fluidity matrix