ERROR: Error: Schema verification failed for index

Hello, I updated node, ceramicnetwork, and composedb to the latest versions, and when running npm run dev I am getting this error. I am building on a fork of the EthDenver2023Demo. The deploy script is the same.

file:///home/johnhoang1994/wakeful/node_modules/@ceramicnetwork/common/lib/utils/fetch-json.js:21
        throw new Error(`HTTP request to '${url}' failed with status '${res.statusText}': ${text}`);

Error: HTTP request to 'http://localhost:7007/api/v0/admin/modelData' failed with status 'Internal Server Error': {"error":"Schema verification failed for index: kjzl6hvfrbw6cai5yahdfq5h37v7ksb7mqx9af8a6t1218bzuxufqxf4xhov5e8. Please make sure latest migrations have been applied."}
    at RemoteAdminApi.fetchJson [as _fetchJson] (file:///home/johnhoang1994/wakeful/node_modules/@ceramicnetwork/common/lib/utils/fetch-json.js:21:15)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async RemoteAdminApi.startIndexingModelData (file:///home/johnhoang1994/wakeful/node_modules/@ceramicnetwork/http-client/lib/remote-admin-api.js:71:9)
    at async Composite.startIndexingOn (file:///home/johnhoang1994/wakeful/node_modules/@composedb/devtools/dist/composite.js:408:9)

Schema

type IcarusResource 
    @createModel(accountRelation: LIST, description: "Resource used to create blocks of text")
    @createIndex(fields: [{ path: ["url"]} ]) 
    @createIndex(fields: [{ path: ["title"]} ]) {
    author: String @string(minLength: 1, maxLength: 140)
    cid: String @string(minLength: 1, maxLength: 140)
    clientMutationId: String @string(minLength: 1, maxLength: 140)
    createdAt: DateTime
    description: String @string(minLength: 1, maxLength: 3000)
    doi: String @string(minLength: 1, maxLength: 140)
    isbn: String @string(minLength: 1, maxLength: 140)
    mediaType: String @string(minLength: 1, maxLength: 140)
    publishedAt: Date
    title: String @string(minLength: 1, maxLength: 140)
    url: String @string(minLength: 1, maxLength: 140)
    updatedAt: DateTime
}

Deployed Composite

{
    "version": "1.1",
    "models": {
        "kjzl6hvfrbw6cai5yahdfq5h37v7ksb7mqx9af8a6t1218bzuxufqxf4xhov5e8": [
            {
                "jws": {
                    "payload": "AXESIGDOC3GwEyhWJ3YR2Wg75IC1ZTT_2gNtGtv5Ze7_iud5",
                    "signatures": [
                        {
                            "signature": "1UWfFsB_XOY54z6yUf6OsBR_eAdcv8eFXDypjq6pb1pjRUjV3pBqZUtFyDnCfs7JWyJEYLDt69E5XBRnDXS8Dw",
                            "protected": "eyJhbGciOiJFZERTQSIsImtpZCI6ImRpZDprZXk6ejZNa2Z1aWdKSDdEWFA2UGlZcE1WTHZzWDFBazJDWUttTUVYNDg4ekN1Yjl0dndQI3o2TWtmdWlnSkg3RFhQNlBpWXBNVkx2c1gxQWsyQ1lLbU1FWDQ4OHpDdWI5dHZ3UCJ9"
                        }
                    ],
                    "link": "bafyreidazyfxdmatfblco5qr3fudxzeawvstj762anwrvw7zmxxp7cxhpe"
                },
                "linkedBlock": "omRkYXRhqWRuYW1lbkljYXJ1c1Jlc291cmNlZXZpZXdzoGZzY2hlbWGlZHR5cGVmb2JqZWN0ZSRkZWZzomtHcmFwaFFMRGF0ZaRkdHlwZWZzdHJpbmdldGl0bGVrR3JhcGhRTERhdGVmZm9ybWF0ZGRhdGVpbWF4TGVuZ3RoGGRvR3JhcGhRTERhdGVUaW1lpGR0eXBlZnN0cmluZ2V0aXRsZW9HcmFwaFFMRGF0ZVRpbWVmZm9ybWF0aWRhdGUtdGltZWltYXhMZW5ndGgYZGckc2NoZW1heCxodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL3NjaGVtYWpwcm9wZXJ0aWVzrGNjaWSjZHR5cGVmc3RyaW5naW1heExlbmd0aBiMaW1pbkxlbmd0aAFjZG9po2R0eXBlZnN0cmluZ2ltYXhMZW5ndGgYjGltaW5MZW5ndGgBY3VybKNkdHlwZWZzdHJpbmdpbWF4TGVuZ3RoGIxpbWluTGVuZ3RoAWRpc2Juo2R0eXBlZnN0cmluZ2ltYXhMZW5ndGgYjGltaW5MZW5ndGgBZXRpdGxlo2R0eXBlZnN0cmluZ2ltYXhMZW5ndGgYjGltaW5MZW5ndGgBZmF1dGhvcqNkdHlwZWZzdHJpbmdpbWF4TGVuZ3RoGIxpbWluTGVuZ3RoAWljcmVhdGVkQXShZCRyZWZ3Iy8kZGVmcy9HcmFwaFFMRGF0ZVRpbWVpbWVkaWFUeXBlo2R0eXBlZnN0cmluZ2ltYXhMZW5ndGgYjGltaW5MZW5ndGgBaXVwZGF0ZWRBdKFkJHJlZncjLyRkZWZzL0dyYXBoUUxEYXRlVGltZWtkZXNjcmlwdGlvbqNkdHlwZWZzdHJpbmdpbWF4TGVuZ3RoGQu4aW1pbkxlbmd0aAFrcHVibGlzaGVkQXShZCRyZWZzIy8kZGVmcy9HcmFwaFFMRGF0ZXBjbGllbnRNdXRhdGlvbklko2R0eXBlZnN0cmluZ2ltYXhMZW5ndGgYjGltaW5MZW5ndGgBdGFkZGl0aW9uYWxQcm9wZXJ0aWVz9Gd2ZXJzaW9uYzIuMGlpbnRlcmZhY2X0aXJlbGF0aW9uc6BqaW1wbGVtZW50c4BrZGVzY3JpcHRpb254JlJlc291cmNlIHVzZWQgdG8gY3JlYXRlIGJsb2NrcyBvZiB0ZXh0b2FjY291bnRSZWxhdGlvbqFkdHlwZWRsaXN0ZmhlYWRlcqNjc2VwZW1vZGVsZW1vZGVsUs4BBAFxcQsACWhtb2RlbC12MWtjb250cm9sbGVyc4F4OGRpZDprZXk6ejZNa2Z1aWdKSDdEWFA2UGlZcE1WTHZzWDFBazJDWUttTUVYNDg4ekN1Yjl0dndQ"
            }
        ]
    },
    "indices": {
        "kjzl6hvfrbw6cai5yahdfq5h37v7ksb7mqx9af8a6t1218bzuxufqxf4xhov5e8": [
            {
                "fields": [
                    {
                        "path": [
                            "url"
                        ]
                    }
                ]
            },
            {
                "fields": [
                    {
                        "path": [
                            "title"
                        ]
                    }
                ]
            }
        ]
    },
    "aliases": {
        "kjzl6hvfrbw6cai5yahdfq5h37v7ksb7mqx9af8a6t1218bzuxufqxf4xhov5e8": "IcarusResource"
    },
    "views": {
        "account": {},
        "root": {},
        "models": {
            "kjzl6hvfrbw6cai5yahdfq5h37v7ksb7mqx9af8a6t1218bzuxufqxf4xhov5e8": {}
        }
    },
    "commonEmbeds": []
}

Thanks for the help!

@Radek Can you jump in on this issue?

  1. Can you please provide your package.json file?
  2. And which version of Node.js are you running? 20? 21?
  3. Was updating to the latest versions the only thing that you did that caused the error?

package.json

{
  "name": "demo",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "node scripts/run.mjs",
    "nextDev": "next dev",
    "ceramic": "CERAMIC_ENABLE_EXPERIMENTAL_COMPOSE_DB='true' ceramic daemon --config ./composedb.config.json",
    "ceramic:local": "CERAMIC_ENABLE_EXPERIMENTAL_COMPOSE_DB='true' ceramic daemon",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
  },
  "dependencies": {
    "@apollo/client": "^3.8.6",
    "@aws-sdk/client-s3": "^3.278.0",
    "@ceramicnetwork/blockchain-utils-linking": "^3.2.0",
    "@ceramicnetwork/cli": "^3.2.0",
    "@ceramicnetwork/common": "^3.2.0",
    "@ceramicnetwork/http-client": "^3.2.0",
    "@composedb/client": "^0.6.0",
    "@didtools/cacao": "^2.1.0",
    "@didtools/pkh-ethereum": "^0.4.1",
    "@pinata/sdk": "^2.1.0",
    "@tiptap/extension-bubble-menu": "^2.1.13",
    "@tiptap/pm": "^2.1.13",
    "@tiptap/react": "^2.1.13",
    "@tiptap/starter-kit": "^2.1.13",
    "chalk": "^5.1.2",
    "crypto-browserify": "^3.12.0",
    "did-session": "^2.0.1",
    "dids": "^4.0.4",
    "graphql": "^16.6.0",
    "key-did-provider-secp256k1-with-lit": "^0.1.2",
    "next": "^13.5.6",
    "ora": "^6.1.2",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-hook-form": "^7.48.2",
    "react-icons": "^4.7.1",
    "sonner": "^1.2.3",
    "uuid": "^9.0.1",
    "web3.storage": "^4.5.5"
  },
  "devDependencies": {
    "@composedb/devtools": "^0.6.1",
    "@composedb/devtools-node": "^0.6.1",
    "@composedb/types": "^0.6.0",
    "@glazed/types": "^0.2.0",
    "@tailwindcss/typography": "^0.5.10",
    "@types/node": "^17.0.15",
    "@types/react": "^18.0.0",
    "autoprefixer": "^10.4.14",
    "eslint": "^8.3.0",
    "eslint-config-next": "^13.5.6",
    "key-did-provider-ed25519": "^3.0.2",
    "key-did-resolver": "^3.0.0",
    "postcss": "^8.4.24",
    "tailwindcss": "^3.3.2",
    "typescript": "^4.5.2",
    "uint8arrays": "^4.0.2"
  }
}

I upgraded node to the latest version of 21.4.0. Yes, updating to the latest version was the last thing I did. I just downgraded to node 20.10.0, and I’m still having the same error.

@jhoang that’s odd - I’m sorry you’re encountering that.

When you have a moment, can you try creating a fresh clone and trying from the branch I just created: GitHub - ceramicstudio/ComposeDbExampleApp at mzk-test (I even included your schema definition and used it in the deploy script)

I’m having difficulty replicating the errors you’re encountering, but won’t know for sure how to help without taking a look at your code. Would it be possible for you to push up a draft of what you’re working with and share here?

I’ve git cloned the branched and the server started. This is the repository GitHub - jhoan2/wakeful at develop. There might be some problems on the frontend side because there’s maybe 4 commits I haven’t pushed.

Btw, I’d be okay with just deleting the current folder on my computer and cloning at my previous commit since that might be easier for us.

The way you’re loading your models is using static streamIDs. Are these pinned by a node on testnet or mainnet? It looks like your server config is set to run inmemory - if you’re just setting things up for local testing, i’d probably recommend using dynamic imports. You can see how I do this in the branch I shared with you: https://github.com/ceramicstudio/ComposeDbExampleApp/blob/mzk-test/scripts/composites.mjs
(for example $PROFILE_ID on line 31 matches up with the import on line 1 of this page: https://github.com/ceramicstudio/ComposeDbExampleApp/blob/mzk-test/composites/01-posts.graphql

Ohh, okay. I haven’t deployed the models to testnet or mainnet yet, so I’m just working on it locally. Thanks for the help!