Git Product home page Git Product logo

Comments (7)

dorlaor avatar dorlaor commented on May 18, 2024

It's still open despite Tomek's 31d28c5

from scylladb.

penberg avatar penberg commented on May 18, 2024

@avikivity, seems like a sstable sharding issue?

from scylladb.

avikivity avatar avikivity commented on May 18, 2024

An sstable should be loaded on all shards on startup.

A compaction could have deleted it, but I doubt we have it running now.

Maybe a problem in range queries.

from scylladb.

tgrabiec avatar tgrabiec commented on May 18, 2024

It's an initialization race.

All shards initialize in parallel in init_from_data_directory(), which includes attaching sstables to the system keyspace column_familie:s and then querying of schema tables in system keyspace. But all this happens in parallel on all shards. So it may happen that some shard is already trying to query schema tables before another shard has finished attaching sstables it's responsible for. As a result some rows in schema tables may be missing. As a result, some shards may be missing some keyspaces / tables.

We should wait until system schema is fully populated on all shards before we proceed to querying schema tables.

from scylladb.

avikivity avatar avikivity commented on May 18, 2024

On 07/27/2015 08:14 PM, Tomasz Grabiec wrote:

It's an initialization race.

All shards initialize in parallel in |init_from_data_directory()|,
which includes attaching sstables to the system keyspace
column_familie:s and then querying of schema tables in system
keyspace. But all this happens in parallel on all shards. So it may
happen that some shard is already trying to query schema tables before
another shard has finished attaching sstables it's responsible for. As
a result some rows in schema tables may be missing. As a result, some
shards may be missing some keyspaces / tables.

We should wait until system schema is fully populated on all shards
before we proceed to querying schema tables.


Reply to this email directly or view it on GitHub
#47 (comment).

I can pick this up.

from scylladb.

avikivity avatar avikivity commented on May 18, 2024

On 07/27/2015 08:16 PM, Avi Kivity wrote:

On 07/27/2015 08:14 PM, Tomasz Grabiec wrote:

It's an initialization race.

All shards initialize in parallel in |init_from_data_directory()|,
which includes attaching sstables to the system keyspace
column_familie:s and then querying of schema tables in system
keyspace. But all this happens in parallel on all shards. So it may
happen that some shard is already trying to query schema tables
before another shard has finished attaching sstables it's responsible
for. As a result some rows in schema tables may be missing. As a
result, some shards may be missing some keyspaces / tables.

We should wait until system schema is fully populated on all shards
before we proceed to querying schema tables.


Reply to this email directly or view it on GitHub
#47 (comment).

I can pick this up.

Unless, of course, if you already have a handle on this can can easily
fix it.

from scylladb.

avikivity avatar avikivity commented on May 18, 2024

Fixed by b3b0d51.

from scylladb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.