Re: Podling Report Reminder - November 2018

2018-11-07 Thread Justin Mclean
Hi,

Could you also please answer the question in the report:
"Have your mentors been helpful and responsive or are things falling
through the cracks? In the latter case, please list any open issues
that need to be addressed."

Thanks,
Justin


Re: Operating s2graph in a Cloud enviroment

2018-11-07 Thread DO YUNG YOON
Just sharing the updates.

I made the WIP version for google datastore on
https://github.com/SteamShon/incubator-s2graph/tree/datastore.
To test this please reference on DatastoreStorageTest.

I tested it only on my local environment as follow.

1. startup local datastore HTTP server using emulators.

gcloud beta emulators datastore start --host-port localhost:8080
--consistency 1.0 --project async-test --data-dir project-test

2. checkout above branch.

3. startup s2graphql server using following options.

sbt -DschemaCacheTTL=-1 -Dhttp.port=8000 -DenableMutation=true
-Ds2graph.storage.backend=datastore  -Ddatastore.host="http://localhost:8080;
-Ddatastore.dataset=async-test -Ddatastore.version=v1beta3
-Ddatastore.namespace=test 'project s2graphql' '~re-start'

then you can follow up
https://github.com/apache/incubator-s2graph/tree/master/s2graphql

If anyone with interest and time, please review. I would appreciate any
feedback.


On Sat, Nov 3, 2018 at 7:24 AM DO YUNG YOON  wrote:

> Hi Hwansung.
>
> I think implementing DatastoreFetcher/DatastoreMutator,
> DynamoDBFetcher/DynamoDBMutator class which implement our Fetcher/Mutator
> interface will help you to work with data in that storage.
>
> The purpose of exposing Fetcher/Mutator interface is for others to
> implement in their way to work with their storage, only focusing on how to
> fetch vertex/edge from storage when the S2Query is given, and how to store
> vertex/edge to storage when S2Edge/S2Vertex are given.
>
> Also if you are deploying s2graph rest on the public cloud, then we can
> provide docker image for s2graph rest(not sure if we are already providing
> it, let me check it out).
>
> I have very little experience on the public cloud, such as GCP and AWS, so
> I might think the wrong direction. I guess we can list what are the
> necessary parts, then create issues regarding it.
>
> Please feel free to advise on my comments.
>
> On Fri, Nov 2, 2018 at 10:09 AM Hwansung Yu  wrote:
>
>> Hi, folks.
>>
>> I have recently been working in a new environment.
>> I'm considering running s2graph on the Google Cloud Platform (GCP) and
>> AWS.
>> But operating HBase in a cloud platform environment is not easy.
>> Of course, AWS provides Hbase based on EMR, but if it supports
>> nosql basically provided  such as DynamoDB or Datastore(GCP), is it
>> possible to operate s2graph more easily in the cloud environment?
>>
>> Regards.
>>
>


Re: HTTP interface integration and unfinished project (s2rest_netty) removal.

2018-11-07 Thread DO YUNG YOON
+1 on deprecate unnecessary routes.
About 'WithWait' postfix, I think we should make routes with `WithWait`
postfix as the default and deprecate others, so for example, only
leave `/graphs/edges/insert`
and replace use `/graphs/edges/insertWithWait` implementation in there.

Anyway, the list looks pretty long. Why don't we split list to groups, and
let any volunteers like me to work on this.

On Wed, Nov 7, 2018 at 4:51 PM daewon  wrote:

> I've looked at the features that are available to remove the Play!
> Framework.
>
> I have written my comments for each function groups.
>
> - The Admin and Create APIs have yet to integrate many functions into the
> Play! controller code, so code separation must be preceded in order to move
> functionality.
> - The API with the `withWait` postfix of the Edge/Vertex creation API is an
> API that tells the client whether the request is applied correctly.
>This is a duplicate API that exists for backward compatibility.
> - Management routes are suggested to unify API routes with prefixes such as
> `/admin/?` or `/managment/?`.
> - Server health_check or Counter related features are not available
> anymore, so I suggest you exclude them.
>
> ## Edge creation
>   ### List of APIs to leave
> POST/graphs/edges/insert
>
> POST/graphs/edges/insertBulk
> POST/graphs/edges/delete
>
> POST/graphs/edges/deleteAll
>
> POST/graphs/edges/deleteAllWithOutWait
>
> POST/graphs/edges/update
>
> POST/graphs/edges/increment
> POST/graphs/edges/incrementCount
> POST/graphs/edges/bulk
>
>   ### List of APIs that should be removed
> POST/graphs/edges/deleteWithWait
>
> POST/graphs/edges/updateWithWait
>
> POST/graphs/edges/incrementWithWait
>
> POST/graphs/edges/bulkWithWait
>
> POST/graphs/edges/insertWithWait
>
>
> ## Edge query
>
>   ### List of APIs to leave
> POST/graphs/getEdges
>
> POST/graphs/checkEdges
>
>
>   ### List of APIs that should be removed
> POST/graphs/getEdgesGrouped
>
> POST/graphs/getEdgesGroupedExcluded
>
> POST/graphs/getEdgesGroupedExcludedFormatted
>
> GET /graphs/getEdge/:srcId/:tgtId/:labelName/:direction
>
> POST/graphs/getEdgesExcluded
>
> POST/graphs/getEdgesExcluded/grouped
>
> POST/graphs/getEdges/grouped
>
>
>
> ## Vertex related
>   ### List of APIs to leave
> POST/graphs/getVertices
> POST/graphs/vertices/insert
> POST/graphs/vertices/delete
> POST/graphs/vertices/deleteAll
>
>   ### List of APIs that should be removed
> POST/graphs/vertices/insert/:serviceName/:columnName
> POST/graphs/vertices/delete/:serviceName/:columnName
>
> POST/graphs/vertices/deleteAll/:serviceName/:columnName
>
> POST/graphs/vertices/insertWithWait
>
> POST/graphs/vertices/deleteWithWait
>
>
> ## Vertex related
>   ### List of APIs to leave
> POST/graphs/createService
>
> GET /graphs/getService/:serviceName
>
> GET /graphs/getLabels/:serviceName
>
> POST/graphs/createLabel
>
> POST/graphs/addIndex
>
> GET /graphs/getLabel/:labelName
>
> PUT /graphs/deleteLabelReally/:labelName
>
> POST/graphs/addProp/:labelName
>
> POST/graphs/createServiceColumn
>
> PUT /graphs/deleteServiceColumn/:serviceName/:columnName
>
> POST/graphs/addServiceColumnProp/:serviceName/:columnName
>
> POST/graphs/addServiceColumnProps/:serviceName/:columnName
>
> GET /graphs/getServiceColumn/:serviceName/:columnName
>
> POST/graphs/createHTable
>
> GET /admin/labels/:serviceName
>
> POST/graphs/copyLabel/:oldLabelName/:newLabelName
>
> POST/graphs/renameLabel/:oldLabelName/:newLabelName
>
> POST/graphs/swapLabels/:leftLabelName/:rightLabelName
>
> POST/graphs/updateHTable/:labelName/:newHTableName
>
> PUT /graphs/loadCache
>
>
> ## Experiment related
>   ### List of API to leave
> POST/graphs/experiment/:accessToken/:experimentName/:uuid
>
> POST/graphs/experiments
>
>
> ## publish (deprecated)
>   ### List of APIs that should be removed
> POST/publish/:topic
>
> POST/publishOnly/:topic
>
>
>  Health Check(deprecated)
>   ### List of APIs that should be removed
> GET /health_check.html
>
> PUT /health_check/:isHealthy
>
>
> ## Counter related (deprecated)
>   ### List of APIs that should be removed
> POST/counter/v1/:service/:action
> GET /counter/v1/:service/:action
> PUT /counter/v1/:service/:action
> PUT /counter/v1/:service/:action/prepare
> DELETE  /counter/v1/:service/:action
>