Yah. I saw one such migration via Spark Job running concurrently and created 4 Cfids and migrated data. It was a nightmare to cleanup the duplicated sstables.
Alter schema and migrate should always be different applications separate from the actual system. -- Rahul Singh rahul.si...@anant.us Anant Corporation On Feb 7, 2018, 12:39 PM -0600, Jon Haddad <j...@jonhaddad.com>, wrote: > All of the drivers also have keyspace / table metadata. For instance: > https://datastax.github.io/python-driver/api/cassandra/metadata.html > > I’d be *really* careful how you use this. A lot of teams want to just deploy > their code to a couple hundred servers and let them race to apply the ALTER. > That will not be a fun time. I advise against using LWT to manage this as > well. If you’re looking to apply schema changes like this, I’d let a single > app server manage it and avoid the headache of concurrency. > > Jon > > > On Feb 6, 2018, at 8:13 PM, Irtiza Ali <i...@an10.io> wrote: > > > > Hello, > > > > this link might also be helpful to you for querying table schema. > > > > Link: > > https://docs.datastax.com/en/cql/3.3/cql/cql_using/useQuerySystemTable.html > > > > Best, Iriiza > > > > > > > > > On Tue, Feb 6, 2018 at 9:55 PM, Oliver Ruebenacker <cur...@gmail.com> > > > wrote: > > > > > > > > Hello, > > > > > > > > Is there a describe query in CQL? I don't see one on > > > > http://cassandra.apache.org/doc/latest/cql/index.html. > > > > > > > > I also can't find such a query in the DataStax Java driver API. > > > > > > > > Thanks! > > > > > > > > Best, Oliver > > > > > > > > > On Tue, Feb 6, 2018 at 11:48 AM, Irtiza Ali <i...@an10.io> wrote: > > > > > > Hello. > > > > > > > > > > > > Another thing that you can try is the use the describe table query > > > > > > to get the table schema and parse it. Once done you can check > > > > > > whether column exists or not. > > > > > > > > > > > > > > > > > > With Regards > > > > > > Irtiza Ali > > > > > > > > > > > > > On 6 Feb 2018 21:35, "Oliver Ruebenacker" <cur...@gmail.com> > > > > > > > wrote: > > > > > > > > Thanks for the response! > > > > > > > > > > > > > > > > So, the best solution I can come up with is catching the > > > > > > > > InvalidQueryException and check whether its message contains > > > > > > > > the phrase "conflicts with an existing column". Seems to work, > > > > > > > > but super-ugly. > > > > > > > > > > > > > > > > I do assume that in general, if a request fails, it does not > > > > > > > > permanently change the data in Cassandra, right? > > > > > > > > > > > > > > > > It would be great if alter-add could have an if-not-exists > > > > > > > > clause. Would that be hard to implement? > > > > > > > > > > > > > > > > I could not find a standard CQL way of asking what columns > > > > > > > > exist. Did I miss it? Would it be hard to implement? > > > > > > > > > > > > > > > > I get that we're only eventually consistent anyway. > > > > > > > > > > > > > > > > Thanks! > > > > > > > > > > > > > > > > Best, Oliver > > > > > > > > > > > > > > > > > On Mon, Feb 5, 2018 at 5:12 PM, Rahul Singh > > > > > > > > > <rahul.xavier.si...@gmail.com> wrote: > > > > > > > > > > Yeah, you can handle the exception — what i meant that it > > > > > > > > > > wouldnt cause harm to the DB > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Rahul Singh > > > > > > > > > > rahul.si...@anant.us > > > > > > > > > > > > > > > > > > > > Anant Corporation > > > > > > > > > > > > > > > > > > > > On Feb 5, 2018, 5:07 PM -0500, Oliver Ruebenacker > > > > > > > > > > <cur...@gmail.com>, wrote: > > > > > > > > > > > Well, it does throw an InvalidQueryException if the > > > > > > > > > > > column already exists. > > > > > > > > > > > > > > > > > > > > > > > On Mon, Feb 5, 2018 at 4:44 PM, Rahul Singh > > > > > > > > > > > > <rahul.xavier.si...@gmail.com> wrote: > > > > > > > > > > > > > Since CQL != SQL, there’s isnt a syntatical way. Just > > > > > > > > > > > > > run the alter table command and it shouldn't be an > > > > > > > > > > > > > issue if its there. > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > Rahul Singh > > > > > > > > > > > > > rahul.si...@anant.us > > > > > > > > > > > > > > > > > > > > > > > > > > Anant Corporation > > > > > > > > > > > > > > > > > > > > > > > > > > On Feb 5, 2018, 4:15 PM -0500, Oliver Ruebenacker > > > > > > > > > > > > > <cur...@gmail.com>, wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, > > > > > > > > > > > > > > > > > > > > > > > > > > > > What's the easiest way to add a column to a table > > > > > > > > > > > > > > but only if it does not exist? Thanks! > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best, Oliver > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > Oliver Ruebenacker > > > > > > > > > > > > > > Senior Software Engineer, Diabetes Portal, Broad > > > > > > > > > > > > > > Institute > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > Oliver Ruebenacker > > > > > > > > > > > Senior Software Engineer, Diabetes Portal, Broad Institute > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > Oliver Ruebenacker > > > > > > > > Senior Software Engineer, Diabetes Portal, Broad Institute > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Oliver Ruebenacker > > > > Senior Software Engineer, Diabetes Portal, Broad Institute > > > > > > >