<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Space4J - Latest forum topics]]></title>
		<link>http://forum.space4j.org/recentTopics/list.page</link>
		<description><![CDATA[The newest discussed topics in the entire board]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Yale Football Coach Resigns After Faulty Rhodes Scholarship Claim</title>
				<description><![CDATA[ <br /> <br /> <br /> NEW HAVEN, Conn. -- Yale football coach Tom Williams resigned Wednesday amid a probe by the university into whether he lied on his resume about being a candidate for a prestigious Rhodes scholarship, the New Haven Register reported.<br /> Williams said last month that when he was a senior linebacker at Stanford in 1992 he was a candidate for a Rhodes scholarship, but passed up the opportunity in favor of an NFL tryout.<br /> He spoke on the issue while Yale quarterback Patrick Witt, a Rhodes finalist, debated whether to play in the season finale against archrival Harvard or miss the game for an interview that would determine if he obtained the scholarship.<br /> <br /> Witt opted to play in the Nov. 19 game, which Yale lost 45-7.<br /> Williams, who turns 42 Thursday, listed on his resume submitted to Yale that he had been a Rhodes finalist.<br /> The university launched an inquiry after The New York Times reported that the Rhodes Trust, which finances the scholarship, had no record of Williams ever applying for the scholarship.<br /> The result of the inquiry has not been made public. Williams, in a statement announcing his decision, sought to explain the discrepancy.<br /> <br /> <br /> <br /> <br /> ]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/94/138.page</guid>
				<link>http://forum.space4j.org/posts/preList/94/138.page</link>
				<pubDate><![CDATA[Fri, 23 Dec 2011 21:57:18]]> GMT</pubDate>
				<author><![CDATA[ shoud7]]></author>
			</item>
			<item>
				<title>Increasing the size of log files</title>
				<description><![CDATA[ <br /> The forum problem was fixed. Answering your question in a few minutes...<br /> <br /> [quote=Amit]<br /> Hi,<br /> I am evaluating Space4J for my application.<br /> I found one configuration which make my usage not scalable: log size is set to 10k in SimpleLogger, with no public API to modify it.<br /> Creating lots of objects creates a very long list of log files in the file system. Although these object are for short-period and I am planning to write a cleaning utility for "pre-last-snaphot" log files, I would like to have the ability to create bigger log files (even for the sack of disk fragmentation).<br /> I saw a newer 0.9.7 javadocs, with this ability, but the code is not in SVN (am I right?)<br /> <br /> Thanks,<br /> Amit.<br /> <br /> P.S sorry for sending it as a private message, I couldn't post new topic in the forum, get sql exception of duplicate entries all the time... <br /> [/quote]]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/43/97.page</guid>
				<link>http://forum.space4j.org/posts/preList/43/97.page</link>
				<pubDate><![CDATA[Thu, 1 Sep 2011 09:38:15]]> GMT</pubDate>
				<author><![CDATA[ saoj]]></author>
			</item>
			<item>
				<title>Clarification : log and snapshots</title>
				<description><![CDATA[ just a quick question about recovery. When a snapshot 006.snap is made, are the logs up to and including 006.log required anymore? I will be trying to write a little clean up process to limit the amount of old snaps/logs]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/30/82.page</guid>
				<link>http://forum.space4j.org/posts/preList/30/82.page</link>
				<pubDate><![CDATA[Fri, 4 Feb 2011 16:34:25]]> GMT</pubDate>
				<author><![CDATA[ yuwy]]></author>
			</item>
			<item>
				<title>Couple of questions regarding the system</title>
				<description><![CDATA[ Hi,<br /> <br /> I have a couple of questions regarding the system and hope someone is willing and able to answer them:<br /> <br /> - From the FAQ I gather that reads are allowed concurrently with writes. Is this correct? I am asking this since reading the result of a half-finished write operation can cause unexpected behavior. If this is the case is it also possible to use a lock more akin to Java's ReentrantReadWriteLock to have all writes operate in isolation with possibility of a downgrade to a read lock?<br /> -  Say a system would need 50GB of memory and has this readily available, wouldn't this much RAM totally smash performance of the garbage collector to the point of uselessness? Do you know of a solution to this bottleneck?<br /> <br /> Thanks in advance,<br /> <br /> Dirk Louwers]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/29/75.page</guid>
				<link>http://forum.space4j.org/posts/preList/29/75.page</link>
				<pubDate><![CDATA[Thu, 6 Jan 2011 04:58:22]]> GMT</pubDate>
				<author><![CDATA[ dlouwers]]></author>
			</item>
			<item>
				<title>Space4j available thru Maven repository</title>
				<description><![CDATA[ Hi there,<br /> <br /> I read somewhere in this forum you are Ant-oriented ;) That's fine, but could you publish space4j artifacts (jar, sources and javadoc would be cool) to Maven Central repository, please? <br /> <br /> It's de-facto standard, and is usable with Ant+Ivy too ... and would make a lot of developer lives easier.<br /> <br /> <br /> I can recommend you this:<br /> <a class="snap_shots" href="https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide" target="_blank" rel="nofollow">https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide</a><br /> <br /> <br /> Thanks,<br /> ~t~<br /> <br /> PS: and fix the site, since space4j.org is reported as nonexistent, but it should redirect to www.space4j.org to save some typing :)]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/28/74.page</guid>
				<link>http://forum.space4j.org/posts/preList/28/74.page</link>
				<pubDate><![CDATA[Tue, 9 Nov 2010 07:41:21]]> GMT</pubDate>
				<author><![CDATA[ cstamas]]></author>
			</item>
			<item>
				<title>Log trail and logfiles maintenance</title>
				<description><![CDATA[ After reviewing the code, I did not find anything that "squashes" or removes the log files, something that lessens their count. As far as I understand, latest snapshot file + logs after it is all that is needed to load up the Space4j after boot, right?<br /> <br /> So, what is to be done with older snapshots and logfiles? Is it left to users as exercise to manage them? ;)<br /> <br /> <br /> Thanks,<br /> ~t~]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/27/72.page</guid>
				<link>http://forum.space4j.org/posts/preList/27/72.page</link>
				<pubDate><![CDATA[Mon, 8 Nov 2010 12:29:29]]> GMT</pubDate>
				<author><![CDATA[ cstamas]]></author>
			</item>
			<item>
				<title>KeyComparator and null values</title>
				<description><![CDATA[ Hello,<br /> <br /> I had some issues linked to indexing and I found out (I think) an issue in the KeyComparator regarding null values :<br /> Let's consider we have a Key which contains only one value, which can be null.<br /> <br /> Then, in the compare(Key key1, Key key2) method, if one of the parameters contains one value 'null', then the compareObjects(...) is called.<br /> But this method always returns 0, so both keys are considered as equal. <br /> <br /> This means that if key1 contains a 'null' value and key2 does not, the method returns 0, but that's wrong! Both keys are not equal.<br /> <br /> I propose this correction :<br /> [code]<br /> protected int compareObjects(Object obj1, Object obj2) <br /> {<br /> 		<br />     	if (obj1 == null && obj2 != null)<br />     	{<br />     		return -1;<br />     	}<br />     	<br />     	if (obj1 != null && obj2 == null)<br />     	{<br />     		return 1;<br />     	}<br />     	<br />         return 0;		<br />     }<br /> [/code]<br /> <br /> <br /> ]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/26/66.page</guid>
				<link>http://forum.space4j.org/posts/preList/26/66.page</link>
				<pubDate><![CDATA[Tue, 26 Oct 2010 08:25:36]]> GMT</pubDate>
				<author><![CDATA[ niavloux]]></author>
			</item>
			<item>
				<title>Bug list</title>
				<description><![CDATA[ Hello,<br /> <br /> Is there somewhere a list of current bugs ?<br /> We are trying to use multisort index and it works fine 10 min, then we observes that index are not updated correctly.<br /> We are doing concurrently a lot of insert/delete and update commands.<br /> Has someone already encountered this kind of problem ?<br /> <br /> Thank you for your answer.<br /> <br /> Pascal.<br /> <br /> ]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/25/64.page</guid>
				<link>http://forum.space4j.org/posts/preList/25/64.page</link>
				<pubDate><![CDATA[Mon, 11 Oct 2010 06:04:19]]> GMT</pubDate>
				<author><![CDATA[ pascal]]></author>
			</item>
			<item>
				<title>Improvements on MULTI_SORTED index on 0.9.2</title>
				<description><![CDATA[ [color=red]Before:[/color]<br /> [code]<br />     @Override<br />     public Collection&lt;Object&gt; findUsers(int minAge, int maxAge) {<br />        <br />        // Remember that our index is of the type MULTI_SORTED.<br />        // That's why we are doing this cast here.<br />        <br />        MultiSortedMap map = (MultiSortedMap) indexByAge.getMap();<br />        <br />        // A multi-sorted-map will store a Map for each key.<br />        // That's why our index is NON-UNIQUE meaning the same<br />        // key can be associated with many entries in the map.<br />        // The map is also sorted by its key, meaning we can<br />        // perform range searches efficiently.<br />        <br />        ConcurrentNavigableMap&lt;Key, Object&gt; subMap = map.subMap(new Key(minAge), true, new Key(maxAge), true);<br />        <br />        Collection&lt;Object&gt; users = new ArrayList&lt;Object&gt;(subMap.size() * 3);<br />        <br />        Iterator&lt;Object&gt; iter = subMap.values().iterator();<br />        <br />        while(iter.hasNext()) {<br />           <br />           // our collection here is actually a ConcurrentHashMap!<br />           <br />           Map&lt;Object, Boolean&gt; m = (Map&lt;Object, Boolean&gt;) iter.next();<br />           <br />           // this is not good as we are transversing the whole list twice!<br />           // TODO: Create custom iterator for MultiSortedMap to avoid this?<br />           <br />           Iterator&lt;Object&gt; iter2 = m.keySet().iterator();<br />           <br />           while(iter2.hasNext()) {<br />              <br />              users.add(iter2.next());<br />           }<br />        }<br />        <br />        return users;<br />     }<br /> [/code]<br /> [color=blue]NOW:[/color]<br /> [code]<br />     @Override<br />     public Collection&lt;User&gt; findUsers(int minAge, int maxAge) {<br />        <br />        // Remember that our index is of the type MULTI_SORTED.<br />        <br />        MultiSortedMap&lt;User&gt; map = indexByAge.getMap();<br />        <br />        // A multi-sorted-map will store a Set for each key.<br />        // That's why our index is NON-UNIQUE meaning the same<br />        // key (minAge, maxAge) can be associated with different entries in the map.<br />        // The map is also sorted by its key, meaning we can<br />        // perform range searches efficiently like below.<br />        <br />        return map.subMapValues(new Key(minAge), true, new Key(maxAge), true);<br />     }<br /> [/code]<br /> <br /> [b]Simpler and more efficient as you don't need to copy anything. [i]subMapValues[/i] returns a collection of users (backed up by a collection of sets) so you can iterate through all elements efficiently.[/b]<br /> <br /> <br /> ]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/24/61.page</guid>
				<link>http://forum.space4j.org/posts/preList/24/61.page</link>
				<pubDate><![CDATA[Sat, 18 Sep 2010 15:45:57]]> GMT</pubDate>
				<author><![CDATA[ saoj]]></author>
			</item>
			<item>
				<title>multi Index</title>
				<description><![CDATA[ Hello,<br /> i create index for many attributes and i want to get a list which satisfies more than 1 constraints.<br /> [code]<br /> // indexing QUEUEID, SHIPPINGDONE, TIMENEXTSEND<br /> 		if (!_indexManager.checkIndex(IX_QUEUESV4_GETMSG))<br /> 		{<br /> 			Index _index = new Index(IX_QUEUESV4_GETMSG, MAP_NAME, Index.TYPE.MULTI,<br /> 							QueuesMessage.class, "queueId", "shippingDone", "timeNextSend");<br /> 			boolean _ok = _indexManager.createIndex(_index, m_space4J);<br /> 			// if (_ok)<br /> 			// logger.info(_index + " created !");<br /> 			// else<br /> 			// logger.info("error while creating index" + _index);<br /> 		}<br /> [/code]<br /> Below how we can get list satisfying one constraint.<br /> [code]<br /> List _messages = null;<br /> 		MultiMap _multiMap = (MultiMap) m_indexGetMsg.getMap();<br /> 		_messages = _multiMap.get(new Key(queueId));<br /> 		<br /> 		return _messages;<br /> [/code]<br />  my question is how we can use multi elements ?,  not just one  as i did above [color=red]_multiMap.get(new Key(queueId))[/color] and what we can find on phonebook example.<br /> <br /> thanks for responses.]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/23/56.page</guid>
				<link>http://forum.space4j.org/posts/preList/23/56.page</link>
				<pubDate><![CDATA[Thu, 29 Jul 2010 06:52:16]]> GMT</pubDate>
				<author><![CDATA[ hajmoh]]></author>
			</item>
			<item>
				<title>Couple of questions regarding the product and object Recovery</title>
				<description><![CDATA[ Hi,<br /> <br /> <br />     Our requirement is to cache certain ammount of data from database to improve the performance say as for maximum 3000 required users. When the request comes in for new user (beyond the max limit)  to store in cache, we have to delete the oldest inactive user object from the memory and add the new user to cache. Is there a way to identify the most inactive object in space4j or do we need to maintain some sort of property.<br />     The next question is regarding the recovery, as our requirement is to hold only maximum 3000 user records in cache, suppose from the begining of the system usage we cached in total 5000 user records but deleted 2000 of them while adding new records,  when the service restarts how can we avoid the log command for the deleted objects? <br /> <br />    From the recent forums, I seen that  the library has been updated with fix to the issues reported recently, which version of jar do I have to download, is it stable version or beta version.<br /> <br /> Thanks,<br /> Sue<br /> ]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/22/54.page</guid>
				<link>http://forum.space4j.org/posts/preList/22/54.page</link>
				<pubDate><![CDATA[Tue, 6 Jul 2010 10:09:22]]> GMT</pubDate>
				<author><![CDATA[ Sue]]></author>
			</item>
			<item>
				<title>Inconsistency between CreateObjectCmd and RemoveCmd</title>
				<description><![CDATA[ Hi, there seems to be a little inconsistency in the application of Create/Remove commands to SimpleSpace4J.<br /> Indeed, i've created a small test (in my mavenization process) to check application of basic commands to a SimpleSpace4J.<br /> <br /> In this test, I've the following test method :<br /> <br /> [code]<br /> 	<br /> 	@Test<br /> 	public void testStoreAndRetriveSimpleObject() throws CommandException, LoggerException {<br /> 		Object test = new TestData();<br /> 		String key = "testStoreAndRetriveSimpleObject.simpleObject";<br /> 		CreateObjectCmd createObj = new CreateObjectCmd(key, test);<br /> 		testedSpace4J.exec(createObj);<br /> 		RemoveCmd removeObj = new RemoveCmd(key, null);<br /> 		testedSpace4J.exec(removeObj);<br /> 	}<br /> [/code]<br /> <br /> where testedSpace4J is a SimpleSpace4J.<br /> <br /> When executing this test method, I obtain the following result :<br /> <br /> [code]<br /> org.space4j.CommandException: Target is not a collection or map: testStoreAndRetriveSimpleObject.simpleObject (org.space4j.implementation.SimpleSpace4JTest$TestData)<br /> 	at org.space4j.command.RemoveCmd.execute(RemoveCmd.java:85)<br /> 	at org.space4j.implementation.SimpleSpace4J.exec(SimpleSpace4J.java:149)<br /> 	at org.space4j.implementation.SimpleSpace4J.exec(SimpleSpace4J.java:140)<br /> 	at org.space4j.implementation.SimpleSpace4JTest.testStoreAndRetriveSimpleObject(SimpleSpace4JTest.java:48)<br /> [end of trace is of no interest here]<br /> [/code]<br /> I don't understand the rationale behind this assymetric operation. Can someone explain it to me ? Thanks<br /> <br /> To my mind, a logical way of handling things would be to have sylmetric create/delete operations, no ?]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/21/51.page</guid>
				<link>http://forum.space4j.org/posts/preList/21/51.page</link>
				<pubDate><![CDATA[Thu, 1 Jul 2010 03:07:40]]> GMT</pubDate>
				<author><![CDATA[ Riduidel]]></author>
			</item>
			<item>
				<title>CreateCollectionCmd does not call map.check ?</title>
				<description><![CDATA[ Hi,<br /> when all other Create*Cmd calls map.check before calling map.put, CreateCollectionCmd don't do so.<br /> Is there any reason for that ?]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/20/48.page</guid>
				<link>http://forum.space4j.org/posts/preList/20/48.page</link>
				<pubDate><![CDATA[Thu, 17 Jun 2010 04:38:18]]> GMT</pubDate>
				<author><![CDATA[ Riduidel]]></author>
			</item>
			<item>
				<title>maven/generics and other subjects</title>
				<description><![CDATA[ Hi, a long time ago, I worked a little on mavenification of space4j. Would you like I send a svn patch with all the modifications ?<br /> In the same direction, I've notice that space4j is not yet supporting generics. Do you want I take a little look at that subject ?]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/19/44.page</guid>
				<link>http://forum.space4j.org/posts/preList/19/44.page</link>
				<pubDate><![CDATA[Wed, 16 Jun 2010 10:59:46]]> GMT</pubDate>
				<author><![CDATA[ Riduidel]]></author>
			</item>
			<item>
				<title>indexed filtering on multiple bean properties</title>
				<description><![CDATA[ I have a web grid showing 250000 products.<br /> the user can filter on of product properties <br /> for example:<br /> price &gt; 30 AND<br /> discount &lt; 20 AND<br /> type.contains("mx")<br /> <br /> No problemo for sql. (even for type.contains('mx') -&gt; oracle can create indexes on calculated values).<br /> how about space4j?<br /> Can I implement an index for this in space4j.<br /> Would I have to create a separate index for each combination of bean properties?<br /> Any help welcome.<br /> Thanks,<br /> Stefaan]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/18/39.page</guid>
				<link>http://forum.space4j.org/posts/preList/18/39.page</link>
				<pubDate><![CDATA[Thu, 12 Nov 2009 08:54:00]]> GMT</pubDate>
				<author><![CDATA[ snacht]]></author>
			</item>
	</channel>
</rss>
