You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2015/11/03 05:38:27 UTC
[jira] [Commented] (STORM-876) Dist Cache: Basic Functionality
[ https://issues.apache.org/jira/browse/STORM-876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14986681#comment-14986681 ]
ASF GitHub Bot commented on STORM-876:
--------------------------------------
GitHub user redsanket opened a pull request:
https://github.com/apache/storm/pull/845
[STORM-876] Blobstore API
Please take a look at the blobstore API. The design docs have been uploaded earlier under the same JIRA. Currently, the blobstore API also works with Nimbus-HA. Apart from the unit tests written for blobstore and nimbus leader election, I have performed few manual tests. Having the PR early looking for suggestions and any missed failover scenarios while the work continues on other additional integration tests and better interface. The manual tests that have been performed are
1. CRUD operations for the blobstore API. Tested for the Local and Hdfs blobstore operations to work with Nimbus-HA and whether the other nimbodes mirror the operations performed on master nimbus.
2. Brought up 3 nimbodes and launched a word count topology. Killed the leader daemon and checked whether other non-leader takes up the leadership and continues to run.
3. Tested whether topology waits for replication to take place before it is launched. For hdfs blobstore the blobstore.replication should be set greater than or equal to topology.min.replication to work effectively.
4. The blobstore with nimbus-ha does not guarantee updates to sync effectively in the case of failover.
Follow up code to be written.
1. Integration test for blobstore with nimbus-ha
2. Move the sync thread in nimbus to blobstore. Waiting on pacemaker push back as it uses some of its code and write the callback code for blobstore
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/redsanket/storm blobstore
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/storm/pull/845.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #845
----
commit 6e1ee30ed6e142033a8b3f264918806630da1bf1
Author: Sanket <sc...@untilservice-lm>
Date: 2015-11-02T19:59:13Z
Squashed commit of the following:
commit 3403a6da661f5ff002cf5e4571853f9b95d8e3c8
Author: Sanket <sc...@untilservice-lm>
Date: Mon Nov 2 13:38:14 2015 -0600
resolved unit test errors caused due to merge commits
commit 898c1d64b5dcbcca2d1efc9a78e731316c1292c0
Merge: 9909a50 8ba776b
Author: Sanket <sc...@untilservice-lm>
Date: Mon Nov 2 11:41:13 2015 -0600
resolved merge conflicts
commit 9909a50a8b1037e16b21f45ee88c8237f33bd7b8
Author: Sanket <sc...@untilservice-lm>
Date: Mon Nov 2 10:57:29 2015 -0600
cleaned-up debug statements
commit 3f2e1796a74799702113303e896d353ce4218c29
Author: Sanket <sc...@untilservice-lm>
Date: Fri Oct 30 23:25:21 2015 -0500
zookeeper state code and code clean up
commit ac4db652aaad8f3ec71aca50eb31579bf90bd887
Author: Sanket <sc...@untilservice-lm>
Date: Thu Oct 29 11:26:17 2015 -0500
made changes to the sync blob code to fix race condition
commit c96ffcaac5d247da1c77a1e1699b2d7b7f76ebf5
Author: Sanket <sc...@untilservice-lm>
Date: Tue Oct 27 13:38:17 2015 -0500
resolved unit test errors
commit f8f7ebab8cb636a296d84b7e719c368e988063c8
Author: Sanket <sc...@untilservice-lm>
Date: Mon Oct 26 22:51:11 2015 -0500
added callback function
commit c5f02cd54ef50039a6f4dde8f073e839b9ef7b3a
Author: Sanket <sc...@untilservice-lm>
Date: Fri Oct 23 16:20:41 2015 -0500
merge commit, modified unit tests to suit blob-store
commit fdc77d54054470fdaa419dbedaa0d69fdf1f63ce
Merge: eb0ea1e f75fdde
Author: Sanket <sc...@untilservice-lm>
Date: Wed Oct 21 13:28:46 2015 -0500
modified blobstore to accomodate nimbus ha
commit eb0ea1e167ebfee94e3a0911f05c2102cdeb77b8
Author: Sanket <sc...@untilservice-lm>
Date: Wed Oct 21 13:08:22 2015 -0500
integrated blobstore code
commit f25e7ba8139b0e2ed56ab532339d0b15b4563c6e
Author: Sanket <sc...@untilservice-lm>
Date: Thu Oct 15 19:06:52 2015 -0500
initial commit
commit ba74039b93ee34067e2511e280a50e3958dc8741
Author: Sanket <sc...@untilservice-lm>
Date: Thu Oct 8 15:04:42 2015 -0500
modified thrift files to include blobstore related classes
commit 73859f70e21e4acde0b3b906b53786c7d2b7a5c5
Author: Sanket <sc...@untilservice-lm>
Date: Thu Oct 8 15:01:46 2015 -0500
integrating blobstore and making sure it builds
commit 2506665b02d8808efd20760f1a11e99239518496
Author: Sanket <sc...@untilservice-lm>
Date: 2015-11-02T20:34:09Z
removed log message and fixed a unit test
commit e8093acbecdfc8893bd9ac571ee8e48f3d610e80
Author: Sanket <sc...@untilservice-lm>
Date: 2015-11-03T03:32:33Z
removed date change generated files
commit 04458b8f8d3ecb022995281630c130da30dd7b28
Author: Sanket <sc...@untilservice-lm>
Date: 2015-11-03T04:13:01Z
indentation edit
commit a26bdf8efd94d26ba65489491594a712381373c7
Author: Sanket <sc...@untilservice-lm>
Date: 2015-11-03T04:16:06Z
indentation edit
----
> Dist Cache: Basic Functionality
> -------------------------------
>
> Key: STORM-876
> URL: https://issues.apache.org/jira/browse/STORM-876
> Project: Apache Storm
> Issue Type: Improvement
> Components: storm-core
> Reporter: Robert Joseph Evans
> Assignee: Robert Joseph Evans
> Attachments: DISTCACHE.md, DistributedCacheDesignDocument.pdf
>
>
> Basic functionality for the Dist Cache feature.
> As part of this a new API should be added to support uploading and downloading dist cache items. storm-core.ser, storm-conf.ser and storm.jar should be written into the blob store instead of residing locally. We need a default implementation of the blob store that does essentially what nimbus currently does and does not need anything extra. But having an HDFS backend too would be great for scalability and HA.
> The supervisor should provide a way to download and manage these blobs and provide a working directory for the worker process with symlinks to the blobs. It should also allow the blobs to be updated and switch the symlink atomically to point to the new blob once it is downloaded.
> All of this is already done by code internal to Yahoo! we are in the process of getting it ready to push back to open source shortly.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)