vFabric GemFire Native Client 3.6.0 Release Notes
VMware® vFabric™ GemFire® Native Client provides access to the vFabric GemFire distributed system for C++ and Microsoft® .NET™ clients. For information on setting up GemFire for use by your native client applications, see the vFabric GemFire documentation. What's in the Release NotesThe release notes cover the following topics:What's New in vFabric GemFire Native Client 3.6.0This section summarizes new functionality in vFabric GemFire Native Client 3.6.0 and refers you to more detailed information in the GemFire documentation.
Support for .NET GenericsThe .NET API now supports .NET generic types. The new API is in GemStone::GemFire::Cache::Generic. You can still use the non-generic GemFire APIs in GemStone::GemFire::Cache. The non-generic Cache APIs are deprecated, but still completely functional in this release. Do not mix Cache with Cache::Generic or you will get errors at runtime. Declarative configuration via XML of user plugins such as cachelistener, cachewriter, cacheloader and In the GemFire Native Client User's Guide, see "The .NET Caching API." Portable Data eXchange Serialization for .NETGemFire has a new, more feature-rich option for data serialization for the .NET client. This is in addition to the existing data serializable option. Note: PDX serialization cannot be used for data that may be exchanged with C++ clients. GemFire's Portable Data eXchange (PDX) serialization format provides the following:
Client-Initiated TransactionsGemFire now supports transactions run from a client member. Previously, to perform a transaction from a client member, you needed to run a function on a server node that executed a transaction. In the GemFire Native Client User's Guide, see the "Transactions" chapter. Licensing ChangesThe GemFire licensing model has changed to more closely resemble VMware's licensing model. You no longer need to provide licensing information to your client applications. All licensing for clients is provided in the server side. The peer/server licensing has new configuration requirements. In the vFabric GemFire User's Guide under Deploying and Running vFabric GemFire, see the "Licensing" chapter. Change to Order of Method Calls for Reconnecting Durable ClientsThe order of your method calls on durable client reconnection needs to be changed. Before this version, you created your cache and regions, called Cache.readyForEvents, then called your interest registration methods. The order of the last two steps needs to be switched. The new instructions read as follows: Program the durable client to perform these steps, in order, when it reconnects:
Modify your durable client code accordingly. Support for Query Bind Parameters from ClientsAdded support for query bind parameters in client queries. High Availability for OnServer Function ExecutionOnServer function execution now supports high availability (HA). Pool Default Settings Changed to Match the Settings for Java ClientPool default settings now are the same as the Java client. Review your pool configurations to make sure they are appropriate. New setPartitionResolver FunctionIt is now possible to set a partition resolver through the C# setPartitionResolver function. Resolved IssuesThe following issues have been resolved in this release.ContainsKeyOnServer Caused Infinite LoopModified ContainsKeyOnServer so it correctly passes security credentials to the server when security is enabled. Before this version, ContainsKeyOnServer did not pass credentials, which caused an infinite loop when it was called. This issue was tracked with bug 667 and customer support ticket 7549. Authentication Failure with Security and Fire-and-Forget FunctionsResolved a problem that caused authentication to fail if security was enabled and a fire-and-forget function call was made from the client. Improper Firing of AppDomain Event HandlingAppDomain UnhandledException event user handler now fires properly. Known IssuesThis section lists known issues in the GemFire product and its supported platforms. Non-Primitive Key Types Require a Java Class Registered with the Cache ServerFor non-primitive key types, a Java class defining the type is needed so the cache server can store the value in the cache. The applications accessing the cache may not involve Java at all, but the Java class still needs to be written and registered with the cache server. Timeout Can Occur While Registering Interest in a Large Number of KeysIndividually registering interest in a large number of keys can result in a timeout condition. Instead, call registerAllKeys if you need to register interest in thousands of keys on the server. Requirements for Non-Primitive Key and Value TypesNon-primitive objects that require deserialization on the server must have their Java classes registered on the server. This affects keys and values in these ways:
|