[hibernate-dev] "rebranding" the Hibernate Search "ram" directory

Adrian Nistor anistor at redhat.com
Fri May 19 05:50:51 EDT 2017


+1 for 'local-heap'.

But I still like 'Buster' :)


On 05/19/2017 10:34 AM, Gustavo Fernandes wrote:
> -1 to demote it to "testing"
>
> Let me show the other side of the coin :)
>
> RAMDirectory has its uses, as long as one understands its limitations. It
> is convenient for small non-persistent indexes, and last time I measured,
> it was faster to load than the FS directory.
>
> So it could be used in production (and I believe some people do), and
> renaming it to "testing" would feel a bit awkward. One example of
> production use of the RAMDirectory is the ES Percolator [1]
>
> We can always throw config errors or log WARN if someone is using "ram"
> with clustered caches on Infinispan, but if rebranding is really needed,
> I'd vote for something like "local-ram" or "local-heap".
>
> Thanks,
> Gustavo
>
> [1]
> https://github.com/elastic/elasticsearch/blob/master/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java
>
>
>
> On Thu, May 18, 2017 at 9:32 PM, Sanne Grinovero <sanne at hibernate.org>
> wrote:
>
>> -1 for "ephemeral" and "volatile", they are pretty much synonyms of
>> "ram" with all the same possible confusions, even to the point of
>> looking like being the recommended choice for "ephemeral class"
>> machines on openstack.
>>
>> "unreliable": it's not unrelaiable as it's actually very reliable and
>> to be recommended for testing, e.g. if you have an issue with our
>> other directories I'd love to know if you can reproduce it with this
>> one.
>>
>> I'll go with "testing". I want to be able to recommend it for testing,
>> and make it clear it's only meant for that.
>>
>>
>> On 18 May 2017 at 20:22, Gunnar Morling <gunnar.morling at googlemail.com>
>> wrote:
>>> I'd argue you can keep the name, if it's in the test JAR. If people
>>> still use it in their production code, well...
>>>
>>> Otherwise, how about "ephemeral"?
>>>
>>> 2017-05-18 19:05 GMT+02:00 Sanne Grinovero <sanne at hibernate.org>:
>>>> On 18 May 2017 at 17:31, Gunnar Morling <gunnar.morling at googlemail.com>
>> wrote:
>>>>> Can't you just move it to the test JAR if it's for testing only?
>>>> Interesting idea, we can try that as well.
>>>>
>>>> I'd still want to set the name straight though. Let's agree on a name
>> first.
>>>>> Am 18.05.2017 6:29 nachm. schrieb "Sanne Grinovero" <
>> sanne at hibernate.org>:
>>>>> Right technically it's not a unit test. But I'd like to focus on the
>>>>> testing aspect, as "local-ram" might still convey concepts as "fast",
>>>>> maybe even expect it to engage Infinispan's off-heap capabilities, or
>>>>> just being an option to consider for other reasons.
>>>>>
>>>>> "testing" ?
>>>>>
>>>>> On 18 May 2017 at 17:20, Adrian Nistor <anistor at redhat.com> wrote:
>>>>>> I agree, but probably "unit-testing" is not such a good name either.
>>>>>> Technically, that's a functional test.
>>>>>> I think I like "local-ram" better, implying that it is not
>>>>>> shared/distributed and it is also volatile.
>>>>>>
>>>>>>
>>>>>> On 05/18/2017 06:07 PM, Sanne Grinovero wrote:
>>>>>>> As anyone who's bothered to read the manual knows, the "ram"
>> directory
>>>>>>> should really only be used for unit tests. The other implementations,
>>>>>>> while typically disk based, are also faster (memory mapped files) and
>>>>>>> more efficient (better locking design) so there's really no reason to
>>>>>>> use it, not even performance except for trivial, small, non important
>>>>>>> data sets.
>>>>>>>
>>>>>>> For example the Elasticsearch team is making sure of this by having
>>>>>>> totally removed the option of using the RAMDirectory - something I
>>>>>>> actually don't appreciate as our unit tests could benefit from it,
>>>>>>> having slow storage on our test environments.
>>>>>>>
>>>>>>> Tristan is reporting that the "ram" terminology is confusing people,
>>>>>>> not least in the Infinispan community as "RAM" might be ambiguous
>>>>>>> since everything is in memory, and people get surprised it's not
>>>>>>> replicated in the "in memory cluster".
>>>>>>>
>>>>>>> I wouldn't want to go to the extremes of the Elasticsearch team as I
>>>>>>> believe having this option is very useful, especially for testing.
>>>>>>>
>>>>>>> Should we rename (rebrand) its short name "ram" into "unit-testing" ?
>>>>>>>
>>>>>>> I suspect that would make people think a bit more before pushing it
>>>>>>> into production...
>>>>>>>
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Sanne
>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> hibernate-dev mailing list
>>>>> hibernate-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>>>>
>>>>>
>> _______________________________________________
>> hibernate-dev mailing list
>> hibernate-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev




More information about the hibernate-dev mailing list