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
>

Reply via email to