Fixed Bugs and Known Issues in GigaSpaces 6.0 Beta

  General Resources

API Docs
Forum
Downloads
White Papers
gigaspaces.com     

                                               

Summary: A list of fixed bugs and known issues for GigaSpaces 6.0 beta (build 1806_3).

Overview

Below is a list of fixed bugs since GigaSpaces 5.2 (build 1708):

Core

  • GS-501 - The READ_COMMITED modifier has been added:
    • Support in the API and proxy level using modifiers.
    • Local View and GSIterator support.
    • A set of READ_COMMITED modifiers is supported in the entire space level.
  • GS-1373 - Fixed: An EntryVersionConflictException was thrown when using readMultiple from DCache.
  • GS-1330 - Fixed: The CacheLoader loaded all data, ignoring partitions in ALL_IN_CACHE, therefore all data was loaded to all members.
  • GS-1536 - Fixed: DestroySpace or a container shutdown didn't close the connection to the database (HSQL), until the JVM was terminated.
  • GS-1490 - Fixed: Reading stored data with compressed map cache in push mode failed.
  • GS-1365 - Fixed: A NullPointerException was thrown when using Map local cache with put-first=false.
  • GS-74 - Fixed: The default Hibernate CacheLoader implementation didn't close the SessionFactory when a shutdown operation was performed.

Query Engine

  • GS-1314 - Fixed: A ConcurrentModificationException was thrown when running the following query in 10 threads:
    SQLQuery rangeQuery = new SQLQuery(new Message(),"id>3 and id<5");
    
  • GS-1158 - Fixed: SQLQuery falsely identified fields that start with GROUP as the GROUP BY parameter.
  • GS-1340 - Fixed: takeMultiple always returned null when using SQL Queries.
  • GS-1339 - Fixed: Failed to execute SQL Queries when the template had more information then the query - a RemoteException was thrown.
  • GS-1687 - Fixed: Wrong query result when using orderBy and rownum for simple queries - instead of ordering the results and then limiting the result set, the data was first limited and then ordered.
  • GS-1746 - Fixed: External Data Source threw an exception on load when the DataProvider or SQLDataProvider were not implemented.

POJO and Spring

  • GS-1323 - When using the gs.xml file in order to map POJOs, the fifo, replicate, and persist flags are not required (these were required in previous versions).
  • GS-1326 - The Spring Framework jar has been updated from version 2.0 RC3 to version 2.0.2.

Configuration and Tools

  • GS-1582 - The java.rmi.server.RMIClassLoaderSpi now uses the default implementation and not the Jini preferable CL. In 5.2, the JSpaces-dl.jar was downloaded with all its dependencies from every space in the cluster, causing dozens of MBs of jars to pass through the wires and overload the HTTPD, Reggie and the space.
  • GS-1374 - Fixed: Unable to override GS_LOGGING_CONFIG_FILE_PROP - the following support has been added:
    if [ "${GS_LOGGING_CONFIG_FILE}" = "" ] ; then GS_LOGGING_CONFIG_FILE="${JSHOMEDIR}/config/gs_logging.properties";
    export GS_LOGGING_CONFIG_FILE if GS_LOGGING_CONFIG_FILE_PROP=
    -Djava.util.logging.config.file=${GS_LOGGING_CONFIG_FILE}; export GS_LOGGING_CONFIG_FILE_PROP
    

    Specific logging settings can be obtained by setting the following before calling gs.sh:

    export GS_LOGGING_CONFIG_FILE=$PSG_HOME/bin/my_logging.properties
    
  • GS-1318 - Jini service registration lease timeout has been extended. The com.sun.jini.reggie.minMaxServiceLease is now set to 15 minutes in the Service Grid config\services\service.config, config\services\reggie.config, and config\services\mahalo.config files.
  • GS-322 - A flat file structure is now supported - configuration files, (properties files, schema files, POJO mapping files, etc.) can be organized directly under the <GigaSpaces Root> folder, or under their main folder without having sub-folders.

    If you want to move certain libraries (jar files), you must edit the Class-Path entry in the <GigaSpaces Root>\lib\JSpaces.jar\MANIFEST.MF file to match the desired structure. You do not need to update the MANIFEST when moving any other types of configuration files.
  • GS-1432 - Fixed: Running CLI commands without entering into the CLI shell scope is now supported.
  • GS-1250 - Injecting values into cluster configuration using the Properties object is now supported.
  • GS-1236 - The import org.jini.rio.log.LoggerConfig and
    import org.jini.rio.log.LoggerConfig.LogHandlerConfig imports have been removed from the services.config file. java.util.logging.* imports have been removed as well.
  • GS-57 - The GigaSpaces-Mule integration package has been added, including examples.
  • GS-1289 - Fixed: LookupFinder bug - client sometimes connected to a space with the same name in a different Jini group: This occured with two spaces that have the same name (different container), each a member of one shared Jini group and one unique one, and only three lookup services up, each registered for only one Jini group of the three (the two unique and the shared). If you used SpaceFinder.find() for the space with the shared group, and then looked for the space with one of the unique groups, while less than a minute passed between the finds - in the second find, you could have received a proxy to the wrong space.
  • GS-1620 - The GigaSpaces Management Center (GigaSpaces Browser) deployment Details tab should be opened by default.
  • GS-66 - Information regarding all connected/disconnected space proxies is now exposed in all management components (GigaSpaces Browser, JMX, CLI):
    • Client IP/ports.
    • Queue loading (slow consumer indication).
    • Connection time and status.
    • Disconnection time, an indication and description of its cause.
    • Which remote methods are executed.
    • Which exporter is used.
    • Statistics per each client.
  • GS-706 - Fixed: MBean Server couldn't be initialized.
  • GS-1471 - Configuration resources aren't loaded using only the classpath - the file system is now scanned under a home base as a fall back.
  • GS-1560 - If the -Djava.util.logging.config.file is set, it is used as the logging configuration file. In previous versions, even if this standard logging configuration file was set, it was ignored, and the gs_logging.properties file was always used.
  • GS-505 - A ConfigurationException is now thrown when a user-defined resource is not found. In previous versions, an INFO message was received, stating only that that the resource was not found.
  • GS-1481 - SpaceFinder.find is now supported with the SpaceURL object and the master space proxy.
  • GS-63 - Information regarding pending notify templates is now exposed in all management components (UI, JMX, CLI):
    • Number of pending templates in the space.
    • Number of pending templates in the space per class.
    • FIFO indication.
    • Expiration date.
    • In case the template is blocked by a specific UID, the UID is shown.
  • GS-1717 - The security/default-users is now loaded from the classpath - a hardcoded path to <GigaSpaces Root>/security/default-users is not required.
  • GS-1480 - Fixed: The CLI deploy command couldn't be used with the full path to the Deployment Descriptor file.

GigaSpaces Browser

  • GS-1347 - Fixed: Objects were not partitioned using the Benchmark View with POJOs and a partitioned cluster.
  • GS-1561 - Fixed: Some spaces did not appear in the GigaSpaces Browser after a large cluster was started. The container node was added without the spaces.
  • GS-1305 - Fixed: Security roles were not loaded poperly or did not appear even though they were already set.
  • GS-1240 - Fixed: A NullPointerException was thrown in the Query View, caused by authorization issues.
  • GS-1168 - Fixed: The Query, Delete, and Clean buttons weren't disabled when they should have been.
  • GS-1510 - Fixed: Clustered spaces disappeared approximately 5 minutes after the benchmark began writing Entries. Such behavior occurred when a large amount of memory was consumed in the process, causing extensive GC spikes. This caused high CPU usage and distracted the LeaseRenewManager (a long GC/CPU clock caused the LeaseRenewManager to miss the default 4 seconds, or a lease renew attempt which caused a space service un-registering event to be fired).
    The solution is to add resources (memory, CPU) or spaces, or to tune the LeaseRenewal maxLeaseDuration and roundTripTime. These two values can be configured using the system properties:

    Setting for the net.jini.lookup.JoinManager.maxLeaseDuration:
    -Dcom.gs.jini.config.maxLeaseDuration=8000 - the default is 8000 ms.

    Setting for the net.jini.lease.LeaseRenewalManager.roundTripTime: -Dcom.gs.jini.config.roundTripTime=4000 - the default is 4000 ms.
  • GS-685 - UI Changes:
    • Using new look and feel - JGoodies.
    • Three big icons on the left side of the GigaSpaces Browser have been replaced by new docking windows.
    • Bottom four tabs are created with the regular Swing JTabbedPane class, close option has been removed.
    • Filter panel has been moved from the top to the new Details panel.
    • New Details panel has filter options and four details tabs, as well as docking options.
    • Deployment status data has been moved from the top to a separate docking window inside the Service Grid tree component.
    • The build process has been changed accoring to the new UI jars.
    • gs-ui scripts have been changed accordingly.
    • The Window menu has been changed, a new Reset option has been added, and some redundant options have been removed.
  • GS-86 - The Object Inspector now has different icons for drillable items.
  • GS-635 - Fixed: An exception was thrown when viewing a member in a partitioned space.
  • GS-1226 - Fixed: A NullPointerException was thrown when trying to save configuration (even without any change) for a secured space.
  • GS-80 - UI Look and Feel upgrade
    • New 3D-style look and feel - enhanced look and feel of dialogs, messages, and tabs.
    • Docking options added to the UI - the ability to drag different areas of the screen outside the screen, or to undock them - the specified area becomes a separate window that can be maximized, minimized, and dragged.
  • GS-771 - Fixed: Thread lock during gs-ui startup.
  • GS-393 - Spaces with different JDK versions are not added as space nodes to the tree, only container nodes are visible.
  • GS-38 - Primary-backup indication for each cluster member has been added to the Cluster View and space network table.
  • GS-1492 - Fixed: Read using SQL Queries threw an Insufficient field-type information exception.
  • GS-1619 - The UI now creates most components on demand, to reduce load time (database connection is created on demand when a space node is selected).
  • GS-624 - Fixed: The Space Network View didn't show secured spaces.
  • GS-1339 - Fixed: The GigaSpaces Browser got stuck while initiating on Windows XP machines, because of a JFileChooser creation problem in Sun.
  • GS-605 - Fixed: The Space Network View, Classes View, Connections View, and Transactions View were refreshed even if they weren't selected by the user.

Service Grid

  • GS-1515 - Fixed: Wrong CPU calculation on multi-core Linux machines - the org.jini.rio.qos.measurable.cpu.LinuxHandler used the /proc file system to calculate CPU utilization, only for a 0 processor ID. The LinuxHandler now uses the first line that starts with cpu, which represents an aggregation of all CPUs in the system.
  • GS-1247 - Fixed: Failover didn't work while the GSC was shut down.
  • GS-1516 - Fixed: The RelocationPolicyHandler didn't initialize correctly. When using RelocationPolicyHandler.initilaize(), checking if the utility has been initialized immediately after calling its superclass initlaize() method, results in an immediate return. The result was that no declared configuration properties are applied to the RelocationPolicyHandler.
  • GS-1234 - The Appliance Info tab label produced by the com.gigaspaces.admin.ui.serviceui.ApplianceInfoPanel ha been changed from Appliance Info to Host Info.
  • GS-1537 - Fixed: The GSC was killed using kill -9, so the GSC was unable to clean up with the GSM. As a result, the GSM needed to wait for the Lookup Service lease timeout to actually know that the GSC died. These exceptions stopped after about 5 minutes and the GSM was able to proceed.
  • GS-1187 - Fixed: Uable to use addPlatformJARS multiple times.
  • GS-1166 - Fixed: In some cases, workers in the Service Grid scaled back to twice their original number specified by maintain. In the UI the maintain number increased.
  • GS-1230 - Fixed: Wehn com.gigaspaces.grid.worker.TaskWorker was used with a transaction, the transaction object created was never used when taking the Entry from the space.
  • GS-1366 - Fixed: Deadlock in the ServiceElementManager.
  • GS-1532 - Fixed: Partial deployment - when deploying one space partition and multiple instances of a collocated service, starting another GSC, and killing the first GSC, all deployed instances of the collocated service should have been be recreated in a secondary GSC, but actually not all of the instances were recreated.
  • GS-1762 - The instance ID is now shown in the UI GSC panel and in the administration screen.
  • GS-1737 - It is now possible to specify the SLA monitor ID dynamically during service initialization.
  • GS-1642 - Fixed: Wrong cluster deployment - when deploying a primary_backup cluster, the SLA was configured to 1,1, while total_members was defined as {{total_member=2,1.

Known Issues

Configuration and Tools

  • GS-1644 - Configuration of 2 containers (with a different name) running in the same JVM, is the same. For example, a JNDI URL container property.
  • GS-1525 - The service discovery mechanism with a large cluster has extremely high memory consumption. The proprietary lookup cache created by the LookupFinder can't provide the requested services. Therefore, each thread blocks a ServiceDiscoveryManager.lookup() call, that creates its own LookupCache instance.
  • GS-1447 - Update of spaces primary/backup id using the spaceURL object with setProperty (SpaceURL.CLUSTER_MEMBER_ID,SpaceURL.CLUSTER_BACKUP_ID) fails.

GigaSpaces Browser

  • GS-1645 - After deploying a space, javax.naming.NameNotFoundException: jmxrmi is thrown after the Connections View is selected - JMX connector must be created per each container, methods of the JMXProvider class should not be static.
  • GS-1541 - In the Object Inspector, the UserDefinedClass is shown as string.
  • GS-1413 - A POJO with nullValue(100) is presented in the GigaSpaces Browser with a value of 0, when the actual value is 100.
  • GS-656 - SQL tables show incorrect values in Double type fields.
  • GS-508 - UI becomes unresponsive if the temp directory does not exist or is not accessable.
  • GS-1291 - A NullPointerException is thrown when running the GigSpaces Browser statistics on OSX Mac.
  • GS-766 - The target machine derived when docking a window is not taken into account. An arbitrary machine is taken from the available pool of machines. Moreover, the Deployment panel is not refreshed automatically. getAdmin fails when using a clustered proxy, meaning re-deploy with a clustered proxy does not work at all at this stage.

Core

  • GS-109 - When connection to the database (JDBC) is lost, the space does not reconnect or try to shift to another available connection.
  • GS-1386 - An OutOfMemoryError might be thrown when loading very large objects from the database.
  • GS-441 - Threads aren't shut down - when terminating a space, there are 5 threads that never get terminated.
  • GS-1414 - A SpaceSecurityException is thrown when trying to restart a secured space.
  • GS-1420 - Filter Replication output mode shares the same data with remote spaces.
  • GS-1426 - When a space in a cluster fails and is started again before any operation is performed on it, the clustered proxy uses an old stub and fails.
  • GS-1444 - writeMultiple can not be called on Entries in an object array.
  • GS-1808 - When reading Externalizable objects from a cluster with any ReadModifier, the modifier is ignored.
  • GS-1758 - When writing an externalizable Entry with __setEntryUID, the UID can not be obtained.
  • GS-1748 - Unable to copy Entries to a secured space using IRemoteJSpaceAdmin.spaceCopy().
  • GS-1721 - The GSIterator does not support Local View.
  • GS-1688 - LRMI Thread pool: LRMI client-side distributed cache configuration is not set - server-side configuration is used instead.
  • GS-159 - The ClusteredProxy fails to connect to restarted backup spaces.
  • GS-1994 – When using a clustered space with read/take operations, BroadcastIfNull fields do not work with Externalizable.

Query Engine

  • GS-1623 - SQLQuery doesn't completely support querying primitive fields - querying these fields doesn't return any result.
  • GS-1720 - SQL Queries or Local View with externalizable objects - when using an SQL Query with a null expression and an externalizable POJO when registering for notifications in a remote space, a ClassCastException exception is thrown.
  • GS-1385 - Fixed: A NullPointerException was thrown when using HibernateDataSource.init().

POJO and Spring

  • GS-1552 - A NullPointerException is occasionally thrown when reading a POJO from the space under load.
  • GS-1698 - *.gs.xml files are not found using the application class loader when the space loads.
  • GS-489 - POJOs implementing Externalizable are not supported by the JSpaceClusteredProxy.

Service Grid

  • GS-1631 - Specifying cluster information (total members, cluster schema) during deployment is not supported.
  • GS-1632 - All *.xml files under META-INF/spring are not taken when deploying to the Service Grid.

.NET

  • GS-1911:  PONO does not support the Space class FIFO attribute. Java exception: the Entry was introduced with non-matching FIFO order.
  • GS-1555:  When performing the clean operation on a space from a proxy while the other proxy is trying to write to the space, insufficient field-type information arrives at the .NET proxy.
  • GS-1765:  DateTime values are converted with wrong value into space - the problem occurs when PONO fields include dates around the 1/1/01.
  • GS-1815:  You can not create a local view using a URL - use only the CreateLocalView()method over the existing proxy.
  • GS-1856:  Jini distributed transactions are not supported in .NET (local transactions are supported).
  • GS-1389:  Performing a take operation on an object that is generic and has inheritance in a proxy that never used that type before, might throw a NPE. Workaround - snapshot the type.
  • GS-1953:  GSIterator is not supported on a view.
  • .Net examples don't work properly.

End of Life

  • The JSpaces-dl.jar file has been removed. Implementation is used instead. Having the JSpaces-dl.jar in the same folder as the JSpaces.jar caused problems and confused users.
  • GigaSpaces CLI has been consolidated with the Service Grid CLI.
    • The gsServer shell has been removed - the gsInstance command is now used instead.
    • The following commands have been removed and can now be performed through the gs shell:
      • createSpace
      • gs_ant
      • js_java
      • list
      • multicastTest
      • ping
      • PlatformVersion
      • shutdown
      • startSpace
      • stopSpace
      • userAdministrator
      • cleanSpace
      • destroySpace

Labels

 
(None)