Tristan, yes, I'd like to help. And the list of issues with this module would be something to start with.
Thanks. -- Denis On 21.02.2017 01:13, Tristan Tarrant wrote: > It has always been regarded as buggy and unmaintained and more of a > convenience for users coming from the old JBossCache. > If you are willing to help out, we can list the most important issues. > > Tristan > > On 20/02/17 19:22, Denis V. Kirpichenkov wrote: >> Hello. >> >> May I ask what's wrong with tree module? >> >> I work on a project which depends on this module heavily. I hope it is >> not a huge problem to reimplement tree module or at least some part of >> it if someone will tell me where to start :) >> >> -- >> >> Denis >> >> >> On 20.02.2017 23:02, Sanne Grinovero wrote: >>> -1 to batch removal >>> >>> Frankly I've always been extremely negative about the fact that >>> batches are built on top of transactions. It's easy to find several >>> iterations of rants of mine on this mailing list, especially fierce >>> debates with Mircea. So I'd welcome a separation of these features. >>> >>> Yet, removing batching seems very wrong. I disagree that people should >>> use Transactions instead; for many use cases it's overkill, and for >>> others - and this is the main pain point I always had with the current >>> design - it might make sense to have a batch (or more than one) within >>> a transaction. >>> I have had practical problems with needing to "flush" a single batch >>> within a transaction as the size of the combined elements was getting >>> too large. That doesn't imply at all that I'm ready to commit. >>> >>> @Pedro: the fact that some code is broken today is not relevant, when >>> there's need for such features. Like you suggest, it had bad premises >>> (build it on TX) so we should address that, but not throw it all out. >>> >>> @Bela is making spot-on objections based on use cases, which need to >>> be addressed in some way. The "atomical" operations still don't work >>> right[1] in Infinispan and that's a big usability problem. >>> >>> +1 to remove async TX >>> >>> I actually like the concept but the API should be different.. might as >>> well remove this for now. >>> >>> +1 to remove the Tree module >>> >>> I personally never used it as you all advised against, yet it's been >>> often requested by users; sometimes explicitly and others not so >>> explicit, yet people often have need which would be solved by a good >>> Tree module. >>> I understand the reasons you all want to remove it: it's buggy. But I >>> believe the real reason is that it should have been built on top of a >>> proper batch API, and using real MVCC. In that case it wouldn't have >>> been buggy, nor too hard to maintain, and might have attracted way >>> more interest as well. >>> I'd remove it as a temporary measure: delete the bad stuff, but >>> hopefully it could be reintroduced built on better principles in some >>> future? >>> >>> Thanks, >>> Sanne >>> >>> [1] - "right" as in user expectations and actual practical use, which >>> is currently different than in the twisted definition of "right" that >>> the team has been using as an excuse ;-) I'll also proof that it >>> doesn't work right according to your own twisted specs, when I find >>> the time to finish some tests.. >>> >>> >>> On 20 February 2017 at 16:48, Pedro Ruivo <pe...@infinispan.org> wrote: >>>> On 20-02-2017 16:12, Bela Ban wrote: >>>>> On 20/02/17 17:06, Tristan Tarrant wrote: >>>>>> Hi guys, we discussed about this a little bit in the past and this >>>>>> morning on IRC. Here are some proposed removals: >>>>>> >>>>>> - Remove the async transactional modes, as they are quite pointless >>>>>> - Remove batching: users should use transactions >>>>> How do you make a bunch of modifications and send them asynchronously if >>>>> both batching *and* async TXs are getting removed? >>>> We are not removing features, we are removing broken code. >>>> >>>> Batching is using transactions and async transactions doesn't make sense >>>> since infinispan has to report to TransactionManager. >>>> >>>> Our current asyn-tx is broken in a way that is starts to commit and >>>> reports OK to the transaction manager. if you have a topology change or >>>> a conflict, you will end with inconsistent data. >>>> >>>> So, why do we keeping this code around? >>>> >>>> you can still move a transaction commit to another thread if you don't >>>> wanna wait for its commit: >>>> >>>> tm.begin() >>>> doWork() >>>> tx = tm.suspend() >>>> new_thread { >>>> tm.resume(tx) >>>> tm.commit() >>>> } >>>> >>>> The best thing I can think of is to keep the batching API and >>>> re-implement it to provide an endBatchAsync() that will do the above. >>>> >>>>> So if someone wants to apply a unit of work *atomically* (either all >>>>> modifications within that unit of work are applied, or none), what >>>>> alternatives exist? >>>>> >>>>>> - Remove the tree module: it doesn't work properly, and uses batching >>>>>> >>>>>> Please cast your votes >>>>>> >>>>>> Tristan >>>>>> >>>> _______________________________________________ >>>> infinispan-dev mailing list >>>> infinispan-dev@lists.jboss.org >>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev >>> _______________________________________________ >>> infinispan-dev mailing list >>> infinispan-dev@lists.jboss.org >>> https://lists.jboss.org/mailman/listinfo/infinispan-dev >> _______________________________________________ >> infinispan-dev mailing list >> infinispan-dev@lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/infinispan-dev >> _______________________________________________ infinispan-dev mailing list infinispan-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/infinispan-dev