{"action":"created","comment":{"url":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/comments/56405366","id":56405366,"diff_hunk":"@@ -110,6 +110,37 @@ def test_TopologySourceAndSinkCallable(self):\n       topo = Topology(\"test_TopologySourceAndSinkCallable\")\n       hw = topo.source(test_functions.SourceTuplesAppendIndex([\"a\", \"b\", \"c\", \"d\"]))\n       hw.sink(test_functions.CheckTuples([\"a0\", \"b1\", \"c2\", \"d3\"]))\n+    ","path":"test/python/topology/test1.py","position":4,"original_position":4,"commit_id":"f64d683b86562ed4d2f9cec231b72659074e451e","original_commit_id":"f64d683b86562ed4d2f9cec231b72659074e451e","user":{"login":"wmarshall484","id":4752570,"avatar_url":"https://avatars.githubusercontent.com/u/4752570?v=3","gravatar_id":"","url":"https://api.github.com/users/wmarshall484","html_url":"https://github.com/wmarshall484","followers_url":"https://api.github.com/users/wmarshall484/followers","following_url":"https://api.github.com/users/wmarshall484/following{/other_user}","gists_url":"https://api.github.com/users/wmarshall484/gists{/gist_id}","starred_url":"https://api.github.com/users/wmarshall484/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wmarshall484/subscriptions","organizations_url":"https://api.github.com/users/wmarshall484/orgs","repos_url":"https://api.github.com/users/wmarshall484/repos","events_url":"https://api.github.com/users/wmarshall484/events{/privacy}","received_events_url":"https://api.github.com/users/wmarshall484/received_events","type":"User","site_admin":false},"body":"One way we handled this in the JAA was by generating a unique token for each data channel, and then asserting that we had the correct number of unique tokens. E.g,\r\n``` python\r\nhw.parallel(4).generateUniqueToken().endParallel().countNumUniqueTokens()\r\n```\r\nand then assert that countNumUniqueTokens() outputs '4' when all the tuples have been processed.","created_at":"2016-03-16T20:08:41Z","updated_at":"2016-03-16T20:08:41Z","html_url":"https://github.com/IBMStreams/streamsx.topology/pull/272#discussion_r56405366","pull_request_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/272","_links":{"self":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/comments/56405366"},"html":{"href":"https://github.com/IBMStreams/streamsx.topology/pull/272#discussion_r56405366"},"pull_request":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/272"}}},"pull_request":{"url":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/272","id":60542948,"html_url":"https://github.com/IBMStreams/streamsx.topology/pull/272","diff_url":"https://github.com/IBMStreams/streamsx.topology/pull/272.diff","patch_url":"https://github.com/IBMStreams/streamsx.topology/pull/272.patch","issue_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/issues/272","number":272,"state":"open","locked":false,"title":"Drhvm.parallel","user":{"login":"drhvm","id":17013886,"avatar_url":"https://avatars.githubusercontent.com/u/17013886?v=3","gravatar_id":"","url":"https://api.github.com/users/drhvm","html_url":"https://github.com/drhvm","followers_url":"https://api.github.com/users/drhvm/followers","following_url":"https://api.github.com/users/drhvm/following{/other_user}","gists_url":"https://api.github.com/users/drhvm/gists{/gist_id}","starred_url":"https://api.github.com/users/drhvm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drhvm/subscriptions","organizations_url":"https://api.github.com/users/drhvm/orgs","repos_url":"https://api.github.com/users/drhvm/repos","events_url":"https://api.github.com/users/drhvm/events{/privacy}","received_events_url":"https://api.github.com/users/drhvm/received_events","type":"User","site_admin":false},"body":"Parallel - Unparallel using RoundRobin tuple distribution. Also contains lock fix for PythonfunctionSource when end of tuples is reached.  Changed OperatorGenerator.java to handle parallel width passed as a Long vs Int.  Also contains first pass on union but does not seem to work yet due to code gen problem?","created_at":"2016-02-24T17:07:25Z","updated_at":"2016-03-16T20:08:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7e33221fb6fca0c897b28b74d956f482c5eaeeb4","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/272/commits","review_comments_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/272/comments","review_comment_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/comments{/number}","comments_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/issues/272/comments","statuses_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/statuses/f64d683b86562ed4d2f9cec231b72659074e451e","head":{"label":"drhvm:drhvm.parallel","ref":"drhvm.parallel","sha":"f64d683b86562ed4d2f9cec231b72659074e451e","user":{"login":"drhvm","id":17013886,"avatar_url":"https://avatars.githubusercontent.com/u/17013886?v=3","gravatar_id":"","url":"https://api.github.com/users/drhvm","html_url":"https://github.com/drhvm","followers_url":"https://api.github.com/users/drhvm/followers","following_url":"https://api.github.com/users/drhvm/following{/other_user}","gists_url":"https://api.github.com/users/drhvm/gists{/gist_id}","starred_url":"https://api.github.com/users/drhvm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drhvm/subscriptions","organizations_url":"https://api.github.com/users/drhvm/orgs","repos_url":"https://api.github.com/users/drhvm/repos","events_url":"https://api.github.com/users/drhvm/events{/privacy}","received_events_url":"https://api.github.com/users/drhvm/received_events","type":"User","site_admin":false},"repo":{"id":50875389,"name":"streamsx.topology","full_name":"drhvm/streamsx.topology","owner":{"login":"drhvm","id":17013886,"avatar_url":"https://avatars.githubusercontent.com/u/17013886?v=3","gravatar_id":"","url":"https://api.github.com/users/drhvm","html_url":"https://github.com/drhvm","followers_url":"https://api.github.com/users/drhvm/followers","following_url":"https://api.github.com/users/drhvm/following{/other_user}","gists_url":"https://api.github.com/users/drhvm/gists{/gist_id}","starred_url":"https://api.github.com/users/drhvm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drhvm/subscriptions","organizations_url":"https://api.github.com/users/drhvm/orgs","repos_url":"https://api.github.com/users/drhvm/repos","events_url":"https://api.github.com/users/drhvm/events{/privacy}","received_events_url":"https://api.github.com/users/drhvm/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/drhvm/streamsx.topology","description":"(Incubation) A project that supports building streaming topologies (applications) for IBM Streams in different programming languages, such as Java and Scala.","fork":true,"url":"https://api.github.com/repos/drhvm/streamsx.topology","forks_url":"https://api.github.com/repos/drhvm/streamsx.topology/forks","keys_url":"https://api.github.com/repos/drhvm/streamsx.topology/keys{/key_id}","collaborators_url":"https://api.github.com/repos/drhvm/streamsx.topology/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/drhvm/streamsx.topology/teams","hooks_url":"https://api.github.com/repos/drhvm/streamsx.topology/hooks","issue_events_url":"https://api.github.com/repos/drhvm/streamsx.topology/issues/events{/number}","events_url":"https://api.github.com/repos/drhvm/streamsx.topology/events","assignees_url":"https://api.github.com/repos/drhvm/streamsx.topology/assignees{/user}","branches_url":"https://api.github.com/repos/drhvm/streamsx.topology/branches{/branch}","tags_url":"https://api.github.com/repos/drhvm/streamsx.topology/tags","blobs_url":"https://api.github.com/repos/drhvm/streamsx.topology/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/drhvm/streamsx.topology/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/drhvm/streamsx.topology/git/refs{/sha}","trees_url":"https://api.github.com/repos/drhvm/streamsx.topology/git/trees{/sha}","statuses_url":"https://api.github.com/repos/drhvm/streamsx.topology/statuses/{sha}","languages_url":"https://api.github.com/repos/drhvm/streamsx.topology/languages","stargazers_url":"https://api.github.com/repos/drhvm/streamsx.topology/stargazers","contributors_url":"https://api.github.com/repos/drhvm/streamsx.topology/contributors","subscribers_url":"https://api.github.com/repos/drhvm/streamsx.topology/subscribers","subscription_url":"https://api.github.com/repos/drhvm/streamsx.topology/subscription","commits_url":"https://api.github.com/repos/drhvm/streamsx.topology/commits{/sha}","git_commits_url":"https://api.github.com/repos/drhvm/streamsx.topology/git/commits{/sha}","comments_url":"https://api.github.com/repos/drhvm/streamsx.topology/comments{/number}","issue_comment_url":"https://api.github.com/repos/drhvm/streamsx.topology/issues/comments{/number}","contents_url":"https://api.github.com/repos/drhvm/streamsx.topology/contents/{+path}","compare_url":"https://api.github.com/repos/drhvm/streamsx.topology/compare/{base}...{head}","merges_url":"https://api.github.com/repos/drhvm/streamsx.topology/merges","archive_url":"https://api.github.com/repos/drhvm/streamsx.topology/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/drhvm/streamsx.topology/downloads","issues_url":"https://api.github.com/repos/drhvm/streamsx.topology/issues{/number}","pulls_url":"https://api.github.com/repos/drhvm/streamsx.topology/pulls{/number}","milestones_url":"https://api.github.com/repos/drhvm/streamsx.topology/milestones{/number}","notifications_url":"https://api.github.com/repos/drhvm/streamsx.topology/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/drhvm/streamsx.topology/labels{/name}","releases_url":"https://api.github.com/repos/drhvm/streamsx.topology/releases{/id}","deployments_url":"https://api.github.com/repos/drhvm/streamsx.topology/deployments","created_at":"2016-02-01T22:15:03Z","updated_at":"2016-02-01T22:15:04Z","pushed_at":"2016-03-16T17:03:35Z","git_url":"git://github.com/drhvm/streamsx.topology.git","ssh_url":"git@github.com:drhvm/streamsx.topology.git","clone_url":"https://github.com/drhvm/streamsx.topology.git","svn_url":"https://github.com/drhvm/streamsx.topology","homepage":"http://ibmstreams.github.io/streamsx.topology","size":5685,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"IBMStreams:python_spl","ref":"python_spl","sha":"e9fe63adfb41fb2112d6a0eaf59a2b849c88a784","user":{"login":"IBMStreams","id":5439177,"avatar_url":"https://avatars.githubusercontent.com/u/5439177?v=3","gravatar_id":"","url":"https://api.github.com/users/IBMStreams","html_url":"https://github.com/IBMStreams","followers_url":"https://api.github.com/users/IBMStreams/followers","following_url":"https://api.github.com/users/IBMStreams/following{/other_user}","gists_url":"https://api.github.com/users/IBMStreams/gists{/gist_id}","starred_url":"https://api.github.com/users/IBMStreams/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IBMStreams/subscriptions","organizations_url":"https://api.github.com/users/IBMStreams/orgs","repos_url":"https://api.github.com/users/IBMStreams/repos","events_url":"https://api.github.com/users/IBMStreams/events{/privacy}","received_events_url":"https://api.github.com/users/IBMStreams/received_events","type":"Organization","site_admin":false},"repo":{"id":36458001,"name":"streamsx.topology","full_name":"IBMStreams/streamsx.topology","owner":{"login":"IBMStreams","id":5439177,"avatar_url":"https://avatars.githubusercontent.com/u/5439177?v=3","gravatar_id":"","url":"https://api.github.com/users/IBMStreams","html_url":"https://github.com/IBMStreams","followers_url":"https://api.github.com/users/IBMStreams/followers","following_url":"https://api.github.com/users/IBMStreams/following{/other_user}","gists_url":"https://api.github.com/users/IBMStreams/gists{/gist_id}","starred_url":"https://api.github.com/users/IBMStreams/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IBMStreams/subscriptions","organizations_url":"https://api.github.com/users/IBMStreams/orgs","repos_url":"https://api.github.com/users/IBMStreams/repos","events_url":"https://api.github.com/users/IBMStreams/events{/privacy}","received_events_url":"https://api.github.com/users/IBMStreams/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/IBMStreams/streamsx.topology","description":"(Incubation) A project that supports building streaming topologies (applications) for IBM Streams in different programming languages, such as Java and Scala.","fork":false,"url":"https://api.github.com/repos/IBMStreams/streamsx.topology","forks_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/forks","keys_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/keys{/key_id}","collaborators_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/teams","hooks_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/hooks","issue_events_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/issues/events{/number}","events_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/events","assignees_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/assignees{/user}","branches_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/branches{/branch}","tags_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/tags","blobs_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/git/refs{/sha}","trees_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/git/trees{/sha}","statuses_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/statuses/{sha}","languages_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/languages","stargazers_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/stargazers","contributors_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/contributors","subscribers_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/subscribers","subscription_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/subscription","commits_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/commits{/sha}","git_commits_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/git/commits{/sha}","comments_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/comments{/number}","issue_comment_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/issues/comments{/number}","contents_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/contents/{+path}","compare_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/compare/{base}...{head}","merges_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/merges","archive_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/downloads","issues_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/issues{/number}","pulls_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls{/number}","milestones_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/milestones{/number}","notifications_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/labels{/name}","releases_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/releases{/id}","deployments_url":"https://api.github.com/repos/IBMStreams/streamsx.topology/deployments","created_at":"2015-05-28T18:30:13Z","updated_at":"2016-02-25T04:29:44Z","pushed_at":"2016-03-16T17:03:35Z","git_url":"git://github.com/IBMStreams/streamsx.topology.git","ssh_url":"git@github.com:IBMStreams/streamsx.topology.git","clone_url":"https://github.com/IBMStreams/streamsx.topology.git","svn_url":"https://github.com/IBMStreams/streamsx.topology","homepage":"http://ibmstreams.github.io/streamsx.topology","size":5697,"stargazers_count":10,"watchers_count":10,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":16,"mirror_url":null,"open_issues_count":47,"forks":16,"open_issues":47,"watchers":10,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/272"},"html":{"href":"https://github.com/IBMStreams/streamsx.topology/pull/272"},"issue":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/issues/272"},"comments":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/issues/272/comments"},"review_comments":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/272/comments"},"review_comment":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/pulls/272/commits"},"statuses":{"href":"https://api.github.com/repos/IBMStreams/streamsx.topology/statuses/f64d683b86562ed4d2f9cec231b72659074e451e"}}}}