GithubHelp home page GithubHelp logo

Comments (13)

slivne avatar slivne commented on May 15, 2024

@asias when you can please check if "[PATCH] Fix a race condition in node state for bootstrapped nodes" solves your issue

from scylladb.

asias avatar asias commented on May 15, 2024

No, it does not help.

On Tue, Jul 21, 2015 at 8:33 PM, slivne [email protected] wrote:

@asias https://github.com/asias when you can please check if "[PATCH]
Fix a race condition in node state for bootstrapped nodes" solves your issue


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

Asias

from scylladb.

vladzcloudius avatar vladzcloudius commented on May 15, 2024

What happens above is that one can't assume that keyspace/table is immediately available on a Node2 once CREATE command has successfully completed on Node1. Gossiper will eventually (!!!) propagate this information to all other nodes but it may take some time. As a result the above test periodically hits the "column_family not found" case and as a result the corresponding mutation times out.

Adding sleep(3) after creating the keyspace and another one after creating a table "resolves" the issue.

from scylladb.

penberg avatar penberg commented on May 15, 2024

@asias I sent a patch titled "service/migration_manager: Fix announce() delay" on the mailing list that fixes the issue for me.

from scylladb.

penberg avatar penberg commented on May 15, 2024

@asias Never mind, the patch was bogus. Still investigating...

from scylladb.

asias avatar asias commented on May 15, 2024

On Thu, Jul 23, 2015 at 5:33 PM, Pekka Enberg [email protected]
wrote:

@asias https://github.com/asias Never mind, the patch was bogus. Still
investigating...

sure.


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

Asias

from scylladb.

penberg avatar penberg commented on May 15, 2024

@asias, the cases I've seen with dtest is either RPC starting to fail or other nodes not actually joined the cluster when we attempt to push out the schema changes. What does gms::get_live_members() return in migration_manager::announce() when the test fails?

from scylladb.

asias avatar asias commented on May 15, 2024

On Thu, Jul 23, 2015 at 8:36 PM, Pekka Enberg [email protected]
wrote:

@asias https://github.com/asias, the cases I've seen with dtest is
either RPC starting to fail or other nodes not actually joined the cluster
when we attempt to push out the schema changes. What does
gms::get_live_members() return in migration_manager::announce() when the
test fails?

Do you want to see this debug info when I see insert fails?

0 // Returns a future on the local application of the schema
1 future<>
migration_manager::announce(distributedservice::storage_proxy& proxy,
std::vector schema)
2 {
3 return gms::get_live_members().then([&proxy, schema =
std::move(schema)](std::setgms::inet_address live_members) {
4 for (auto& x : live_members) {
5 print("====>>>> migration_manager::announce %s\n", x);
6 }

Asias

from scylladb.

penberg avatar penberg commented on May 15, 2024

Yes. I assume the other node is not there when the test fails.

from scylladb.

asias avatar asias commented on May 15, 2024

On Thu, Jul 23, 2015 at 9:04 PM, Pekka Enberg [email protected]
wrote:

Yes. I assume the other node is not there when the test fails.

Here, the test fails (key 3-6 are not inserted), but node 1 knows node 2.

================ STREAM_PLAN TEST ==============
WARNING: Not implemented: AUTH
WARNING: Not implemented: METRICS
WARNING: Not implemented: PERMISSIONS
====>>>> migration_manager::announce 127.0.0.1
====>>>> migration_manager::announce 127.0.0.2
CREATE KEYSPACE = KS DONE
====>>>> migration_manager::announce 127.0.0.1
====>>>> migration_manager::announce 127.0.0.2
CREATE TABLE = TB DONE
WARNING: Not implemented: TRIGGERS
INSERT VALUE DONE: 1
INSERT VALUE DONE: 2


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

Asias

from scylladb.

penberg avatar penberg commented on May 15, 2024

@asias AFAICT, Cassandra drivers issue a schema refresh on other nodes after a schema change. As you're doing schema changes directly, the expected behavior is exactly what you're seeing.

from scylladb.

asias avatar asias commented on May 15, 2024

On Tue, Jul 28, 2015 at 4:27 PM, Pekka Enberg [email protected]
wrote:

@asias https://github.com/asias AFAICT, Cassandra drivers issue a
schema refresh on other nodes after a schema change. As you're doing schema
changes directly, the expected behavior is exactly what you're seeing.

Can we issue such schema refresh in my test code after schema change?


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

Asias

from scylladb.

penberg avatar penberg commented on May 15, 2024

I am completely not sure how the driver does the refresh. Once we figure that out, we can certainly do the same thing in test code.

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.