Does anyone currently require serialization compatibility between PDS releases?
Project Darkstar Community Forums  
Nov 21, 08, 03:11 AM *

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]   Go Down
  Print  
Author Topic: Does anyone currently require serialization compatibility between PDS releases?  (Read 925 times)
david
Sun Darkstar Team
Jr. Member
*****
Offline Offline

Posts: 52


View Profile
« on: Sep 09, 08, 04:24 PM »

We've been looking at some updates to a few of the persistent structures in PDS, and we were wondering if anyone current requires serialization compatibility between releases.  The issue is that if people are using PDS for persistence, then these new changes would cause currently stored objects to be incompatible with the new serialized forms of the objects.  We could provide tools for crawling the data store and updating, but we're  wondering if this is currently needed by the community.

Are people using PDS for persistence, or is the database restarted clean with each run?  If not, do people have expectations on when they might start using it for persistence, or could people comment on why they are not?  Any feedback would be very useful for how we plan future updates like this.
Logged
oak
Sr. Member
****
Offline Offline

Posts: 455



View Profile WWW
« Reply #1 on: Sep 09, 08, 05:08 PM »

We do not use it for persistence during development for two reasons:

1) A bug might make the data inconsistent - leading to weird bugs later
2) Serialization sometimes causes us pain. But it happens a lot less often than I anticipated.

We will most likely keep an external database with the "interesting" data in it. And then nuke the "runtime" datastore when ever we post major upgrades. This is what we currently do.
Logged
patso
Full Member
***
Offline Offline

Posts: 175


View Profile
« Reply #2 on: Sep 10, 08, 11:53 PM »

There are few things that are clear for me:

* The "currently" in the title. Is this means that only the next version may have incompatibility with the previous versions or you mean that future versions also may not be compatible with previous version("do people have expectations on when they might start using it for persistence" - this quote sounds more long therm)

* "using PDS for persistence" - could you explain a little more. As far I understood in pds almost everything is persistent - including tasks and ManagedObject . If I clear the data store you'll loose all the tasks, right? On other hand seems that if I don't clear it I can't run it because it's not compatible or I haven't understood it right?

Also I'm glad you asked this question because it reminds me two other question I have in mind for quite a long time but I always forgot to ask.

I'm not sure what word to use for the first one(English is not my strong side) - but I think "plans" is ok so... What your plans for the pds compatibility between the different versions? Will there be a version that require to clean the datastore or this will be rare cases and only between major releases?

And the second is a bit offtopic but: Is pds data store suitable to store some players profile information - in my case ratings? I just wonder where to store the ratings(and maybe recent matches(low number last 10 for example)) on the java EE server or in pds. In my code the difference between the two is only several lines of code so I suppose I'll try with both. So back on topic: I'm very tempted to store this profile information on pds. So it really will be nice if you explain a bit more these incompatibility issues and about the tools that will solve them. Especially if you plan to make more versions that are not compatible with the previous such information will help a lot in making the proper application design.
Logged
waldo
Sun Darkstar Team
Newbie
*****
Offline Offline

Posts: 40


View Profile
« Reply #3 on: Sep 11, 08, 04:26 AM »

This is very much a question of what people are doing now, and therefore what we should be doing now.

In the future, we definitely expect that people will be building games with Darkstar that require a persistent store that lasts over long periods of time. We are already looking at the kinds of off-line tools that we can provide to allow objects in such a store to be altered from version to version of a game (the sort of thing where you provide a method that will create an object of the new version from an object of the old version, which is then plugged into the tool which will grovel over the entire store, find all of the old objects, and create new versions of them).

The question is whether we need to guarantee forward compatibility now. There are some minor changes that we have made where we have done this, and it is some extra work. If everyone is ok (now) with wiping their data stores from one version of Darkstar to another, then this extra work is unnecessary. We know that it will be needed in the future, but the question David was asking is if it is needed now.
Logged
zammbi
Newbie
*
Offline Offline

Posts: 30


View Profile
« Reply #4 on: Sep 11, 08, 04:41 AM »

Well myself don't mind, because I thought this was going to happen anyway.
I'm all for ignoring this for now so other areas can be finished first.
Logged
oak
Sr. Member
****
Offline Offline

Posts: 455



View Profile WWW
« Reply #5 on: Sep 11, 08, 04:55 AM »

Yeah, I guess most games using Darkstar at the moment are still so early in development that they sweep their data store often due to their own changes. Maybe it could be assumed that until someone replies here that they want compatibility it is not required.
Logged
Pages: [1]   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!