[
https://issues.apache.org/jira/browse/CASSANDRA-9608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16552613#comment-16552613
]
Jason Brown commented on CASSANDRA-9608:
----------------------------------------
{quote}I assume this is to handle e.g. the removal of
Unsafe.monitorEnter/monitorExit?
{quote}
Ahh, sorry for the lack of context, [~benedict], but yes, you've hit the nail
on the head.
I was racking my brain to see if there's an alternative to allocating an object
on-demand, which of course requires contending on assignment to a share field
in the {{AtomibBTreePartitionBase}}, and then contend on the allocated object.
(Which is what {{Unsafe.monitorEnter()}} gave us a way around). I see we're not
gonna be that lucky.
bq. Or we could implement some static helper methods to help us lock against a
property using a special inflated lock object, that can be used for
synchronisation until there is no contention, and the last owning thread sets
the property to null on completion
I'd be interested in a sample of this as, tbqh, I don't understand what you are
proposing here - but I don't want you invest a lot of time just for my
edification. I suspect, at a minimum, we could go with the {{volatile
ReentrantLock}} for now, but could consider [~benedict]'s idea if it's
reasonable (and doesn't burden him too much). wdyt, [~snazy]?
> Support Java 11
> ---------------
>
> Key: CASSANDRA-9608
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9608
> Project: Cassandra
> Issue Type: Task
> Reporter: Robert Stupp
> Assignee: Robert Stupp
> Priority: Minor
> Fix For: 4.x
>
> Attachments: jdk_9_10.patch
>
>
> This ticket is intended to group all issues found to support Java 9 in the
> future.
> From what I've found out so far:
> * Maven dependency {{com.sun:tools:jar:0}} via cobertura cannot be resolved.
> It can be easily solved using this patch:
> {code}
> - <dependency groupId="net.sourceforge.cobertura"
> artifactId="cobertura"/>
> + <dependency groupId="net.sourceforge.cobertura"
> artifactId="cobertura">
> + <exclusion groupId="com.sun" artifactId="tools"/>
> + </dependency>
> {code}
> * Another issue is that {{sun.misc.Unsafe}} no longer contains the methods
> {{monitorEnter}} + {{monitorExit}}. These methods are used by
> {{o.a.c.utils.concurrent.Locks}} which is only used by
> {{o.a.c.db.AtomicBTreeColumns}}.
> I don't mind to start working on this yet since Java 9 is in a too early
> development phase.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]