Welcome to the new Gigaspaces XAP forum. To recover your account, please follow these instructions.

Ask Your Question

Patrick's profile - activity

2014-09-21 15:39:03 -0600 answered a question Replication between primary and backup.

Yes, only the objects in the space exist in the backup node. Your polling and notify container logic will run after the backup becomes a primary, but their state is not replicated.

2014-09-09 09:37:53 -0600 answered a question Exclusive Read Lock

It is possible to read objects being held in an exclusive read lock. There is a table under the heading "Locking and Blocking Rules" that explains the options on this page: http://docs.gigaspaces.com/xap97/tran...

2014-09-09 09:34:42 -0600 commented answer FIFO grouping space document

To route SpaceDocuments that have the same windowID to the same space partition, you specify the os-core:routing property as described here: http://docs.gigaspaces.com/xap97/docu...

You only need to configure FIFO processing if your application requires it. Do you need to process your SpaceDocuments in FIFO order?

2014-09-08 12:13:53 -0600 answered a question FIFO grouping space document

Are you asking about how to co-locate space documents in the same partition based on an ID or how to process them in FIFO order from a polling container?

2014-07-30 13:01:24 -0600 answered a question Deploying WAR with CLI

That looks correct. I have an example at http://gigaspacesinanger.wordpress.co... that deploys a war file, if you'd like additional details.

2014-06-05 10:30:22 -0600 answered a question how to update values in the space entities periodically - timer

Piggybacking on John's questions, are the timer values being updated so that they are eventually picked up by a polling or notify container when they hit a certain value?

If the values aren't used until the objects are taken for some other reason, remember the first rule of query optimization: The fastest query is the one you don't make.

2014-06-05 09:56:26 -0600 answered a question Do polling containers send the same object over and over again?

Are you writing the object back to the space after receiving it? If so, you are adding an object that matches the template you specified, so your event handler will be triggered.

The use of null as your template is unusual. What are you trying to accomplish, at a high level?

2014-05-08 08:21:55 -0600 answered a question Blocking error on consuming events from partitioned space

It looks like you are specifying a timeout on a read or take operation against a partitioned space without specifying a routing field value.

Could you explain in a bit more detail what you need to do?

Regards,

Patrick

2014-03-31 18:04:37 -0600 commented answer How to create a stateful remote service

This is a fairly common use case for XAP. I'd be happy to write up an example over the next couple of weeks. Please email me (patrick dot may at gigaspaces dot com) to discuss your requirements if there are details that you'd prefer not to share in public.

2014-03-31 15:09:05 -0600 commented answer How to create a stateful remote service

You can set a lease time for the state objects. They will disappear from the space when the lease expires.

2014-03-31 13:57:16 -0600 answered a question How to create a stateful remote service

Anything is possible with XAP! ;-)

If I understand you correctly, you would like to provide a service that maintains some sort of state across invocations of the methods it exposes.

There are three approaches to implement what you want:

1) Store state in the service and use the Remote Routing Handler (documented on the same page you reference) to ensure that you get the same service instance on subsequent method invocations

2) Store state in the space and use the Remote Routing Handler to ensure that you get the same service instance on subsequent method invocations

3) Store state in the space, return a token from the first method invocation, and use that token on subsequent calls to allow the service to retrieve the appropriate state

With XAP, state is generally stored in the space in order to provide resiliency in the case of failover. You can store state in the service itself, but it will be lost if that node goes down because of a hardware failure or similar problem. If you don't need separate states for each client of the service, the second approach is your most reliable option.

2014-03-22 16:55:11 -0600 commented question Can 2 polling containers have same template ?

How are you planning to have the first polling container switch from HIGH to LOW in your template?

2014-03-05 12:53:48 -0600 commented answer Subqueries in Polling Container's @EventTemplate annotated method

I haven't tried this, but simply using three polling containers with the appropriate concurrent consumers set should work:

  <os-events:polling-container id="high-priority-worker"
                               giga-space="gigaSpace"
                               concurrent-consumers="16">

    <os-core:template>
      <bean class="com.foo.bar.Job">
        <property name="priority" value="HIGH"/>
      </bean>
    </os-core:template>

    <os-events:listener>
      <os-events:method-adapter method-name="processJob">
        <os-events:delegate>
          <bean class="com.foo.bar.Worker"/>
        </os-events:delegate>
      </os-events:method-adapter>
    </os-events:listener>

  </os-events:polling-container>
2014-03-05 10:45:24 -0600 answered a question Subqueries in Polling Container's @EventTemplate annotated method

It might be easier to configure your 28 consumers to have 16 polling for HIGH priority jobs, 8 polling for MEDIUM priority, and 4 polling for LOW priority. If you have a steady, well-distributed stream of jobs then all of your consumers should stay busy.

If you find some consumers are not busy, you could add a worker to monitor them and bump up the priority of the longest waiting LOW and MEDIUM priority jobs so that the HIGH priority consumers will pick them up.

2014-03-03 12:09:54 -0600 received badge  Enthusiast
2014-03-02 13:05:27 -0600 commented question What is replacement for method getFinderURL in IJSpace due to SpaceURL deprecation?

Could you describe your requirement that getFinderURL() is addressing?

2014-02-26 09:58:07 -0600 answered a question Versioning in Gigaspaces

Piotr,

A full, general solution to this problem would be an interesting technical challenge but it's not something GigaSpaces XAP offers out of the box. It is possible to quickly and easily accomplish with existing capabilities, though.

Before suggesting a solution, it would help to have more details:

  • How complex is the object model being stored in GigaSpaces?
  • Is there an underlying data store?
  • What are the audit requirements (frequency, access patterns, etc.)?
  • How many instances of auditable objects are in the space?
  • How often, on average, is each instance modified?

Regards,

Patrick