<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest topics for the forum "General Questions"]]></title>
		<link>http://forum.space4j.org/forums/show/1.page</link>
		<description><![CDATA[The newest discussed topics in the forum "General Questions"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<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>
			<item>
				<title>Experience feedback and other questions</title>
				<description><![CDATA[ Hello.<br /> <br /> I'm currently building a social website for a company that foresees a population of 500000 users in the system. The system will be hosted in the cloud by Amazon Web Service. According to my calculation the size of the "database" will grow to 8 GB. I'm really interested by Space4J to carry out the persistence. Do you know/have any experience feedback with this kind of system ?<br /> <br /> I also have some technical questions :<br /> <br /> Can index be built for a map that already have datas ? If yes, what is the expected behavior : access to index map is blocking ? Is there a way to be notified when the index is ready ?<br /> <br /> When i get an object from Space4j is it a copy ? If no, how does it work when two threads want to update the same object ? What is the good practice ?<br /> <br /> synchronous replication across the cluster supported ?<br /> <br /> Thanks.<br /> <br /> Jonathan]]></description>
				<guid isPermaLink="true">http://forum.space4j.org/posts/preList/17/35.page</guid>
				<link>http://forum.space4j.org/posts/preList/17/35.page</link>
				<pubDate><![CDATA[Thu, 28 May 2009 12:11:27]]> GMT</pubDate>
				<author><![CDATA[ Jonathan]]></author>
			</item>
	</channel>
</rss>
