That wasn't horrible at all. After testing, provided all goes well I can submit this back to the main TWCS repo if you think it's worth it.
Either way do you mind just reviewing briefly for obvious mistakes? https://github.com/bspindler/twcs/commit/7ba388dbf41b1c9dc1b70661ad69273b258139da Thanks! On Fri, Nov 2, 2018 at 7:24 PM Brian Spindler <brian.spind...@gmail.com> wrote: > I hope I can do as you suggest and leapfrog to 3.11 rather than two > stepping it from 3.7->3.11 > > Just having TWCS has saved me lots of hassle so it’s all good, thanks for > all you do for our community. > > -B > > On Fri, Nov 2, 2018 at 3:54 PM Jeff Jirsa <jji...@gmail.com> wrote: > >> I'm sincerely sorry for the hassle, but for various reasons beyond, it's >> unlikely I'll update my repo (at least me, personally). One fix is likely >> to grab the actual java classes from the apache repo, pull them in and fix >> the package names, and compile (essentially making your own 3.11 branch). >> >> I suppose you could also disable compaction, switch to something else >> (stcs), do the upgrade, then alter it back to the official TWCS. Whether or >> not this is viable depends on how quickly you write, and how long it'll >> take you to upgrade. >> >> >> >> >> >> On Fri, Nov 2, 2018 at 11:57 AM Brian Spindler <brian.spind...@gmail.com> >> wrote: >> >>> you are right, it won't even compile: >>> >>> [INFO] ------------------------------------------------------------- >>> [ERROR] COMPILATION ERROR : >>> [INFO] ------------------------------------------------------------- >>> [ERROR] >>> /Users/bspindler/src/github/twcs/src/main/java/com/jeffjirsa/cassandra/db/compaction/TimeWindowCompactionStrategy.java:[110,90] >>> cannot find symbol >>> symbol: method >>> getOverlappingSSTables(org.apache.cassandra.db.lifecycle.SSTableSet,java.util.Set<org.apache.cassandra.io.sstable.format.SSTableReader>) >>> location: variable cfs of type >>> org.apache.cassandra.db.ColumnFamilyStore >>> [ERROR] >>> /Users/bspindler/src/github/twcs/src/main/java/com/jeffjirsa/cassandra/db/compaction/TimeWindowCompactionStrategy.java:[150,99] >>> cannot find symbol >>> symbol: class SizeComparator >>> location: class org.apache.cassandra.io.sstable.format.SSTableReader >>> [ERROR] >>> /Users/bspindler/src/github/twcs/src/main/java/com/jeffjirsa/cassandra/db/compaction/TimeWindowCompactionStrategy.java:[330,59] >>> cannot find symbol >>> symbol: class SizeComparator >>> location: class org.apache.cassandra.io.sstable.format.SSTableReader >>> [ERROR] >>> /Users/bspindler/src/github/twcs/src/main/java/com/jeffjirsa/cassandra/db/compaction/SizeTieredCompactionStrategy.java:[104,67] >>> cannot find symbol >>> symbol: class SizeComparator >>> location: class org.apache.cassandra.io.sstable.format.SSTableReader >>> [INFO] 4 errors >>> >>> >>> >>> On Fri, Nov 2, 2018 at 2:52 PM Jeff Jirsa <jji...@gmail.com> wrote: >>> >>>> There’s a chance it will fail to work - possible method signatures >>>> changed between 3.0 and 3.11. Try it in a test cluster before prod >>>> >>>> >>>> -- >>>> Jeff Jirsa >>>> >>>> >>>> On Nov 2, 2018, at 11:49 AM, Brian Spindler <brian.spind...@gmail.com> >>>> wrote: >>>> >>>> Nevermind, I spoke to quickly. I can change the cass version in the >>>> pom.xml and re compile, thanks! >>>> >>>> On Fri, Nov 2, 2018 at 2:38 PM Brian Spindler <brian.spind...@gmail.com> >>>> wrote: >>>> >>>>> <image.png> >>>>> >>>>> >>>>> On Fri, Nov 2, 2018 at 2:34 PM Jeff Jirsa <jji...@gmail.com> wrote: >>>>> >>>>>> Easiest approach is to build the 3.11 jar from my repo, upgrade, then >>>>>> ALTER table to use the official TWCS (org.apache.cassandra) jar >>>>>> >>>>>> Sorry for the headache. I hope I have a 3.11 branch for you. >>>>>> >>>>>> >>>>>> -- >>>>>> Jeff Jirsa >>>>>> >>>>>> >>>>>> On Nov 2, 2018, at 11:28 AM, Brian Spindler <brian.spind...@gmail.com> >>>>>> wrote: >>>>>> >>>>>> Hi all, we're planning an upgrade from 2.1.5->3.11.3 and currently we >>>>>> have several column families configured with twcs class >>>>>> 'com.jeffjirsa.cassandra.db.compaction.TimeWindowCompactionStrategy' and >>>>>> with 3.11.3 we need to set it to 'TimeWindowCompactionStrategy' >>>>>> >>>>>> Is that a safe operation? Will cassandra even start if the column >>>>>> family has a compaction strategy defined with a classname it cannot >>>>>> resolve? >>>>>> How to deal with different versioned nodes and different class names >>>>>> during the upgrade of the binaries throughout the cluster? >>>>>> >>>>>> Thank you for any guidance, >>>>>> Brian >>>>>> >>>>>> -- > -Brian >