Skip to content

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

Open
@NoahRazzaq

Description

@NoahRazzaq

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

Metadata

Metadata

Assignees

Labels

datastoreIssues related to the DataStore CategoryquestionA question about the Amplify Flutter librariesto-be-reproducedIssues that have not been reproduced yet, but have reproduction steps provided

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions