Comments (10)
Hey, sorry for the trouble and thanks for reporting this! "Archiving" was a later addition to the OperationStore, but I certainly intended to retain backwards compatibility for systems that didn't migrate or hadn't migrated yet. I'll investigate this soon, and if you want to try migrating your database in the meantime, you can find the migration notes here: https://graphql-ruby.org/operation_store/active_record_backend.html#database-update
from graphql-ruby.
Hmm - we did the migration referenced here a while ago. I can confirm that both of those columns are in the DB. But the error appears to be complaining about archived_references_count
, which from what I can tell is actually just computed in a join.
So it sounds like there's nothing that jumps out obviously as a step we missed, which makes me wonder if maybe we have something else slightly unexpected in our system.
from graphql-ruby.
Yeah... very weird. Maybe that SUM(...)
is somehow returning null
instead of 0
. What database are you using?
from graphql-ruby.
We're using Postgres 12.18! Sorry, should have included that earlier.
from graphql-ruby.
No worries, thanks. I was able to replicate this issue when GraphQLIndexReference
records are missing from the database. I'm not sure how that could happen, but it's easy enough to recreate them in a Rails console:
MySchema.operation_store.reindex
I expect if you run that in a console, this view will be fixed for you.
In any case, I also released graphql-pro 1.27.2 with more graceful handling for this case, printing a message suggesting that same fix.
Could you try that fix, or try the new version, and let me know how it goes for you?
from graphql-ruby.
Hmm - MySchema.operation_store.reindex
seemed to fix the backend, but that command seems to run forever. Am I missing something, or does the reindex
method never actually increment current_page
? It seems odd that this is an eternal loop for me, given that at least iterations
should increment to 1000 and stop?
from graphql-ruby.
Hmm, I spoke prematurely - it no longer has the same error, but the index is pretty obviously incomplete. :-/
from graphql-ruby.
Derp... so sorry about that. I just released graphql-pro v1.27.3 with a fixed (and properly tested...) multi-page .reindex
behavior. Could you try again on the new version?
from graphql-ruby.
Ah ha! That got us back in shape. Thanks a ton, @rmosolgo !
from graphql-ruby.
Glad to hear it. Sorry for the trouble and thanks for working through it with me!
from graphql-ruby.
Related Issues (20)
- [Question]: Implementing input validation across the entire schema HOT 2
- `one_of` directive doesn't work in `InputObject`s with `ActionController::Parameters` HOT 4
- Query#fingerprint raises "TypeError: no implicit conversion of nil into String" HOT 2
- [PRO] Can't get custom directive from a document retrieved from the operation store HOT 3
- Query validation never finishes on queries with many directives HOT 3
- Integrate with ActiveRecord::QueryLogs (old marginalia) HOT 5
- DataDog APM not receiving data HOT 11
- Defer is not working on fragments HOT 12
- Incompatible tracers (PrometheusTrace & SentryTrace) HOT 1
- `GraphQL::Language::Nodes::Document` is not compatible with Marshal in version 2.3 HOT 1
- Guide: Mutation authorization HOT 2
- Support directives on resolvers and mutations
- `current_field` is reset in exceptions HOT 3
- Schema type system clean-up
- dataloaders not working in autoloaded mutation arguments
- Unable to use `type` as enum value HOT 1
- Incorrect Yarn doc: execute can return a Result, not only Hash HOT 2
- Max complexity not respected when using enterprise object cache HOT 2
- Can't use fields with the name object/context, reserved terms? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graphql-ruby.