[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Ganymede developer pre-release 3b, dev3b.tar.gz, is now available from
ftp://ftp.arlut.utexas.edu/pub/ganymede/
or
ftp://129.116.212.1/pub/ganymede/
if your client has trouble resolving a proper address for
ftp.arlut.utexas.edu.
This developer's pre-release has a number of fixes and usability
improvements, including most notable some significant performance and
memory tuning in the server code. gash and nisonly ganymede.db files
from dev3 and later are compatible with this release, but the
custom_src for the schema code has changed a little bit, so if you
have done any custom code modifications, you may need to tweak the
code a bit for this release. Details in the CHANGES log below.
------------------------------------------------------------
Ganymede Developer Release 3b
June 15, 1998
CHANGES
1. [SERVER] Memory, Performance Optimizations
By using custom-crafted DBObjectTable, DBFieldTable, and
DBBaseFieldTable classes instead of java.util.Hashtable's for the
primary Ganymede server data structures, we have reduced the memory
loading for the server by over 20% and eliminated the creation of a
lot of unnecessary temporary objects. A number of operations that
were previously synchronized unnecessarily are now unsync'ed, and a
number of operations that required explicit casts are now type
specific, leading to further performance improvements.
2. [CLIENT] Swing Deadlock Prevented
The Swing GUI library is not thread safe, and the client had a risk
of locking on updating the status label at the bottom of the client
window if the user attempted to open up several object windows
simultaneously. The client now uses the Swing thread synchronization
primitives to update the status label, eliminating the potential for
client thread lock.
3. [CLIENT] Object Window ProgressBar Improved
The object view/edit window progress bar has been improved so it
shows progress across vector fields, rather than simply halting while
a large number of vector components are loaded. This gives a better
indication of the true progress when loaded an object with many
embedded objects.
4. [CLIENT] Query Dialog Allows Matches Against Non-Editable Objects
Before, the query box would allow you to do queries on invid fields,
searching for objects whose invid field pointed to a listed object.
The choices listed, however, only included objects that the admin had
edit privilege on. Now the list of options that is included in the
pull-down list for such fields will show all objects of the given type
that the admin has read privileges for.
5. [CUSTOM] Fixes to GASH Schema
The system interface code was not properly handling the display of
the name and alias fields.. this was due to a broken canSeeField()
fix in dev3a.
6. [SERVER/CLIENT] edit/create/view/clone_db_object now return ReturnVal
The server now has the ability to return error dialogs in response
to requests to view, edit, create, or clone objects. The server will
now provide a detailed report explaining why an operation could not
be successfully completed. If a user attempts to edit an object that
has already been checked out for editing by another user, the server
will report this, including the identity of the user who has the object
checked out.
7. [CLIENT] Query issue is now threaded
Before, the client issued queries to the server on the GUI thread,
blocking the client's GUI refresh until the server responded. The
client now handles queries in a separate thread, and displays a
window with an animated gif while waiting for the server to complete
the query.
8. [SERVER] Journal file optimized
Before, whenever an object was changed in a transaction, the entire
state of the object would be written to the journal file. Now, the
server only writes a record of the changes made to objects to the
journal, in some cases dramatically reducing the size of the journal
file and the time required to process it.
9. [SERVER] All Invid bind/unbind operations checkpointed
The Ganymede server is now more robust in the face of errors in the
object linking logic.
10. [CLIENT] Fix in client refresh logic
The client wouldn't properly display items in vector panels when
ordered to change the vector panel's visibility in certain cases.
11. [CUSTOM] Changes to gash, nisonly custom source
Small changes to the gash and nisonly custom source to cohere with
change #6, above. Since Session.edit_db_object() now returns a
ReturnVal, the custom code for the two schemas had to be changed where
it called edit_db_object(). No changes were made to NISBuilderTask.java
and GASHBuilderTask.java.
-------------------------------------------------------------------------------
Jonathan Abbey jonabbey@arlut.utexas.edu
Applied Research Laboratories The University of Texas at Austin
-------------------------------------------------------------------------------
----------------------------------------------------------------------------
To make changes to your subscription to the ganymede mailing list, send
mail to majordomo@arlut.utexas.edu.
To unsubcribe, include the line
unsubscribe ganymede
in the body of your mail message
Download ganymede from ftp.arlut.utexas.edu/pub/ganymede/.
To see the latest design specs for Ganymede, visit the Ganymede web page
at http://www.arlut.utexas.edu/gash2/
----------------------------------------------------------------------------