incubator-blur-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron McCurry <amccu...@gmail.com>
Subject Row, Records, Sessions oh my...
Date Thu, 28 Feb 2013 03:13:24 GMT
There wasn't any comments on the removing of sessions from the 0.2-dev code
(https://issues.apache.org/jira/browse/BLUR-61) so I thought I would start
discussion here.  I have given this a bit of thought over the past week and
I think that we do need sessions for managing index state.  However I don't
think that the typical client use case should have to deal sessions as well
as the complexity of the current RPC.

So I offer a compromise, or at least a start to it.

I have create a branch that has the RPC definitions checked in, but the
server side is not implemented.

The major change here is the addition of 2 services.

service DocumentService {
 DocumentResult searchRecords (1:string table, 2:string query)
 void updateRecord (1:string table, 2:DocumentRecord record)
 void deleteRecord (1:string table, 2:string id)
}

service DocumentGroupService extends DocumentService {
 DocumentGroupResult searchGroups (1:string table, 2:string query)
 void updateGroup (1:string table, 2:DocumentGroup group)
 void deleteGroup (1:string table, 2:string id)
}

As you can see the DocumentGroupService extends DocumentService so that you
can interact with the documents in groups as if they were singletons.  This
is similar to the old api where we had Rows (DocumentGroup) and Records
(DocumentRecord).  I call the DocumentRecord a record because it contains
an id as well as a Document (which has no predefined structure).

Also the standard Blur service extends the DocumentGroupService so that all
the low-level calls are still available to clients that want to deal with
the details.

A sample program (that won't work) for the DocumentService can be found
here:

https://git-wip-us.apache.org/repos/asf?p=incubator-blur.git;a=blob;f=src/blur-testsuite/src/main/java/org/apache/blur/testsuite/SampleSimpleDocument.java;h=42b1b5bafed5d159d1c7c767fd2da9ed6d20a472;hb=0.2-dev-clientrpc

Another sample program (that won't work) for the DocumentGroupService can
be found here:

https://git-wip-us.apache.org/repos/asf?p=incubator-blur.git;a=blob;f=src/blur-testsuite/src/main/java/org/apache/blur/testsuite/SampleSimpleDocumentGroup.java;h=cf2cf66f1ea577e346b0d560b8e1f06b32269b0f;hb=0.2-dev-clientrpc

Let me know your thoughts.  Thanks!

Aaron

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message