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

Failed to start DataStore - DataStoreException: "Row too big to fit into CursorWindow" #5885

Open
3 of 14 tasks
NoahRazzaq opened this issue Jan 30, 2025 · 1 comment
Open
3 of 14 tasks
Assignees
Labels
datastore Issues related to the DataStore Category pending-triage This issue is in the backlog of issues to triage to-be-reproduced Issues that have not been reproduced yet, but have reproduction steps provided

Comments

@NoahRazzaq
Copy link

NoahRazzaq commented Jan 30, 2025

Description

I encountered an issue with AWS Amplify DataStore in Flutter where querying models results in the following error when launching the app for the second time in debug mode. However, I do not experience this issue in the production environment.

DataStoreException { "message": "Failed to start DataStore.", "recoverySuggestion": "Retry.", "underlyingException": "DataStoreException{message=Timed out while starting to observe storage changes., cause=java.lang.RuntimeException: DataStoreException{message=Error in querying the model., cause=android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos=0, totalRows=1, recoverySuggestion=See attached exception for details.}, recoverySuggestion=There is a possibility that there is a bug if this error persists.

exception: Row too big to fit into CursorWindow requiredPos=0, totalRows=1; query: SELECT PersistentRecord.id AS PersistentRecord_id, PersistentRecord containedModelClassName AS PersistentRecord_containedModelClassName, PersistentRecord.containedModelId AS PersistentRecord_containedModelId, PersistentRecord.serializedMutationData AS PersistentRecord_serializedMutationData FROM PersistentRecord LIMIT ? OFFSET ?;"

The error suggests that a row is too big to fit into SQLite's CursorWindow.

Could you provide guidance on how to handle this issue?

Categories

  • Analytics
  • API (REST)
  • API (GraphQL)
  • Auth
  • Authenticator
  • DataStore
  • Notifications (Push)
  • Storage

Steps to Reproduce

  1. Create a DataStore model with large string or JSON fields.
  2. Save multiple large records to DataStore.
  3. Start the the app in debug mode and the stop/kill the app
  4. Restart the app in debug mode (2nd launch).
  5. Observe that DataStore fails to start with the error.

Screenshots

No response

Platforms

  • iOS
  • Android
  • Web
  • macOS
  • Windows
  • Linux

Flutter Version

3.22.1

Amplify Flutter Version

2.4.1

Deployment Method

Amplify Gen 2

Schema

@github-actions github-actions bot added pending-triage This issue is in the backlog of issues to triage pending-maintainer-response Pending response from a maintainer of this repository labels Jan 30, 2025
@ekjotmultani ekjotmultani added the datastore Issues related to the DataStore Category label Jan 30, 2025
@ekjotmultani
Copy link
Member

ekjotmultani commented Jan 30, 2025

Hi @NoahRazzaq, I'm sorry to see that you are facing this issue, thank you for taking the time to open it! I want to clarify, when you say launching for the second time, do you mean by completely terminating the app or through flutter itself (i.e. re-running it in vscode). Also, are you using simulators or physical devices, and do you notice this issue on both ios and android? Could you provide a sample schema as well?

@github-actions github-actions bot removed the pending-maintainer-response Pending response from a maintainer of this repository label Jan 30, 2025
@ekjotmultani ekjotmultani added the to-be-reproduced Issues that have not been reproduced yet, but have reproduction steps provided label Jan 30, 2025
@ekjotmultani ekjotmultani self-assigned this Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
datastore Issues related to the DataStore Category pending-triage This issue is in the backlog of issues to triage to-be-reproduced Issues that have not been reproduced yet, but have reproduction steps provided
Projects
None yet
Development

No branches or pull requests

2 participants