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
> > > >
> >
>

Reply via email to