Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

1 Introduction

This document defines the feature and API enhancements for improving usability of GemFire.

2 Related Documents

...

3 Terminology

4 Architectural Description

4.1 Client API

This section defines changes to the Client API with an emphasis on how Regions are accessed or created on a server.

4.1.1 Creation of Proxy Regions

Add new createProxyRegion(String) and createProxyRegion(String, Pool) methods to Client Cache:

...

  • Region#keySetOnServer
  • Region#containsKeyOnServer

4.1.2 Additional Support for Proxy Regions

Proxy regions currently perform operations locally. This will be changed to always send the operations to the server. This will change the following operations:

...

Currently operations that are sent to a server must go to the correct server that owns a resource. This will be changed so that the server that a client sends an operation to will automatically forward it to its peer (who may not even have a cache server running) that owns the resource. This will be done for all region ops and queries.

4.1.3 Server Management Service

As introduced in the MBean Federation Spec, the entry point to GemFire Management is through interface ManagementService:

...

When a ClientCache is used as the argument to ManagementService#getManagementService(Cache), it will create a version of the ManagementService which will delegate all operations to the server group the client is connected to. Usage of this ManagementService will utilize the client connection to the server to delegate to the ManagementService on a server.

4.1.2.1 Creating Regions on a Server

GFSH and the JMX APIs will support creating regions on the server. The client can create regions on a server group by using its ManagementService to execute GFSH commands on the server using ManagementService#processComand(String). Using this same API, the client can create or manage anything on the server group(s) its connected to.

DynamicRegionFactory should be deprecated in favor of using the new Management API.

4.2 Cache API

4.2.1 Subregion Creation

Currently no API exists that lets you create a subregion using ClientRegionFactory or RegionFactory. The createSubregion methods on Region all take the old RegionAttributes which is created using the deprecated AttributesFactory. Region#createSubregion will be deprecated if it's not already.

...