Modified: helix/site-content/0.9.9-docs/tutorial_task_framework.html URL: http://svn.apache.org/viewvc/helix/site-content/0.9.9-docs/tutorial_task_framework.html?rev=1900255&r1=1900254&r2=1900255&view=diff ============================================================================== --- helix/site-content/0.9.9-docs/tutorial_task_framework.html (original) +++ helix/site-content/0.9.9-docs/tutorial_task_framework.html Mon Apr 25 08:18:23 2022 @@ -1,7 +1,13 @@ <!DOCTYPE html> + + + + + + <!-- - Generated by Apache Maven Doxia at 2022-04-23 Rendered using Reflow Maven Skin 2.0.0-SNAPSHOT (https://andriusvelykis.github.io/reflow-maven-skin) + Generated by Apache Maven Doxia at 2022-04-25 Rendered using Reflow Maven Skin 2.0.0 (https://olamy.github.io/reflow-maven-skin) --> <html xml:lang="en" lang="en"> @@ -29,24 +35,31 @@ <![endif]--> - <script type="text/javascript"> - - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-3211522-12']); - _gaq.push(['_trackPageview']); - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> - </head> + +<!-- Matomo --> +<script> + var _paq = window._paq = window._paq || []; + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + + (function() { + var u="https://analytics.apache.org"; + _paq.push(['setTrackerUrl', u+'/matomo.php']); + _paq.push(['setSiteId', '15']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s); + })(); +</script> +<!-- End Matomo Code --> + </head> <body class="page-tutorial_task_framework project-099-docs" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target"> + <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> @@ -119,7 +132,7 @@ <li><a href="./" title="Release 0.9.9">Release 0.9.9</a></li> <li class="divider">/</li> <li>Tutorial - Task Framework</li> - <li class="publishDate version-date pull-right">Last Published: 2022-04-23</li> + <li class="publishDate version-date pull-right">Last Published: 2022-04-25</li> </ul> </div> </header> @@ -151,7 +164,7 @@ under the License. <h2 id="Helix_Tutorial:_Task_Framework"><a href="./Tutorial.html">Helix Tutorial</a>: Task Framework</h2> </div> <p>Task framework, in Helix, provides executable task scheduling and workflow management. In Helix, three layers of task abstraction have been offered to user for defining their logics of dependencies. The graph shows the relationships between three layers. Workflow can contain multiple jobs. One job can depend on other one. Multiple tasks, including same task different partition and different task different partition, can be added in one job. Task framework not only can abstract three layers task logics but also helps doing task assignment and rebalancing. User can create a workflow (or a job queue) at first beginning. Then jobs can be added into workflow. Those jobs contain the executable tasks implemented by user. Once workflow is completed, Helix will schedule the works based on the condition user provided.</p> - <p><img src="./images/TaskFrameworkLayers.png" alt="Task Framework flow chart" /></p> + <p><img src="./images/TaskFrameworkLayers.png" alt="Task Framework flow chart"></p> <section> <h3 id="Key_Concepts">Key Concepts</h3> <ul> @@ -203,10 +216,10 @@ under the License. <pre><code>public class MyTask extends UserContentStore implements Task { @Override TaskResult run() { - putUserContent("KEY", "WORKFLOWVALUE", SCOPE.WORKFLOW); - putUserContent("KEY", "JOBVALUE", SCOPE.JOB); - putUserContent("KEY", "TASKVALUE", SCOPE.TASK); - String taskValue = getUserContent("KEY", SCOPE.TASK); + putUserContent("KEY", "WORKFLOWVALUE", SCOPE.WORKFLOW); + putUserContent("KEY", "JOBVALUE", SCOPE.JOB); + putUserContent("KEY", "TASKVALUE", SCOPE.TASK); + String taskValue = getUserContent("KEY", SCOPE.TASK); } ... } @@ -219,7 +232,7 @@ under the License. <div class="source"> <pre><code>TaskResult run() { .... - return new TaskResult(TaskResult.Status.FAILED, "ERROR MESSAGE OR OTHER INFORMATION"); + return new TaskResult(TaskResult.Status.FAILED, "ERROR MESSAGE OR OTHER INFORMATION"); } </code></pre> </div> @@ -228,7 +241,7 @@ under the License. <h4 id="Task_Retry_and_Abort">Task Retry and Abort</h4> <p>Helix provides retry logics to users. User can specify the number of task failures to allow under a job. It is a method will be introduced in Following Job Section. Another choice offered to user that if user thinks a task is very critical and do not want to do the retry once it is failed, user can return a TaskResult stated above with FATAL_FAILED status. Then Helix will not do the retry for that task.</p> <div class="source"> - <pre><code>return new TaskResult(TaskResult.Status.FATAL_FAILED, "DO NOT WANT TO RETRY, ERROR MESSAGE"); + <pre><code>return new TaskResult(TaskResult.Status.FATAL_FAILED, "DO NOT WANT TO RETRY, ERROR MESSAGE"); </code></pre> </div> </section> @@ -247,7 +260,7 @@ TaskDriver taskDriver2 = new TaskDriver( <h4 id="Propagate_Task_Error_Message_to_Helix">Propagate Task Error Message to Helix</h4> <p>When task encounter an error, it could be returned by TaskResult. Unfortunately, user can not get this TaskResult object directly. But Helix provides error messages persistent. Thus user can fetch the error messages from Helix via TaskDriver, which introduced above. The error messages will be stored in Info field per Job. Thus user have to get JobContext, which is the job status and result object.</p> <div class="source"> - <pre><code>taskDriver.getJobContext("JOBNAME").getInfo(); + <pre><code>taskDriver.getJobContext("JOBNAME").getInfo(); </code></pre> </div> </section> @@ -263,7 +276,7 @@ TaskDriver taskDriver2 = new TaskDriver( </ul> <p>Example:</p> <div class="source"> - <pre><code>Workflow.Builder myWorkflowBuilder = new Workflow.Builder("MyWorkflow"); + <pre><code>Workflow.Builder myWorkflowBuilder = new Workflow.Builder("MyWorkflow"); myWorkflowBuilder.setExpiry(5000L); Workflow myWorkflow = myWorkflowBuilder.build(); </code></pre> @@ -279,7 +292,7 @@ ScheduleConfig myConfig2 = ScheduleConfi </div> <p>Once this schedule config is created. It could be set in the workflow config:</p> <div class="source"> - <pre><code>Workflow.Builder myWorkflowBuilder = new Workflow.Builder("MyWorkflow"); + <pre><code>Workflow.Builder myWorkflowBuilder = new Workflow.Builder("MyWorkflow"); myWorkflowBuilder.setExpiry(2000L) .setScheduleConfig(ScheduleConfig.recurringFromNow(TimeUnit.DAYS, 5)); Workflow myWorkflow = myWorkflowBuilder.build(); @@ -322,7 +335,7 @@ Workflow myWorkflow = myWorkflowBuilder. <h4 id="Add_a_Job">Add a Job</h4> <p>WARNING: Job can only be added to WorkflowConfig.Builder. Once WorkflowConfig is built, no job can be added! For creating a Job, please refer to the following section (Create a Job)</p> <div class="source"> - <pre><code>myWorkflowBuilder.addJob("JobName", jobConfigBuilder); + <pre><code>myWorkflowBuilder.addJob("JobName", jobConfigBuilder); </code></pre> </div> </section> @@ -415,22 +428,22 @@ Workflow myWorkflow = myWorkflowBuilder. </table> <p>For creating a job queue, user have to provide queue name and workflow config (please refer above Create a Workflow). Similar to other task object, create a JobQueue.Builder first. Then JobQueue can be validated and generated via build function.</p> <div class="source"> - <pre><code>WorkflowConfig.Builder myWorkflowCfgBuilder = new WorkflowConfig.Builder().setWorkFlowType("MyType"); -JobQueue jobQueue = new JobQueue.Builder("MyQueueName").setWorkflowConfig(myWorkflowCfgBuilder.build()).build(); + <pre><code>WorkflowConfig.Builder myWorkflowCfgBuilder = new WorkflowConfig.Builder().setWorkFlowType("MyType"); +JobQueue jobQueue = new JobQueue.Builder("MyQueueName").setWorkflowConfig(myWorkflowCfgBuilder.build()).build(); </code></pre> </div> <p>####Append Job to Queue</p> <p>WARNING:Different from normal workflow, job for JobQueue can be append even in anytime. Similar to workflow add a job, job can be appended via enqueueJob function via TaskDriver.</p> <div class="source"> - <pre><code>jobQueueBuilder.enqueueJob("JobName", jobConfigBuilder); + <pre><code>jobQueueBuilder.enqueueJob("JobName", jobConfigBuilder); </code></pre> </div> <p>####Delete Job from Queue</p> <p>Helix allowed user to delete a job from existing queue. We offer delete API in TaskDriver to do this. The queue has to be stopped in order for a job to be deleted. User can resume the queue once deletion succeeds.</p> <div class="source"> - <pre><code>taskDriver.stop("QueueName"); -taskDriver.deleteJob("QueueName", "JobName"); -taskDriver.resume("QueueName"); + <pre><code>taskDriver.stop("QueueName"); +taskDriver.deleteJob("QueueName", "JobName"); +taskDriver.resume("QueueName"); </code></pre> </div> <p>####Additional Option for JobQueue</p> @@ -470,7 +483,7 @@ myJobCfg.addTaskConfigMap(taskCfgMap); <li>Add by Job command. If user does not want to specify each TaskConfig, we can create identical tasks based on Job command with number of tasks.</li> </ul> <div class="source"> - <pre><code>myJobCfg.setCommand("JobCommand").setNumberOfTasks(10); + <pre><code>myJobCfg.setCommand("JobCommand").setNumberOfTasks(10); </code></pre> </div> <p>WARNING: Either user provides TaskConfigs / TaskConfigMap or both of Job command and number tasks (except Targeted Job, refer following section) . Otherwise, validation will be failed.</p> @@ -483,12 +496,12 @@ myJobCfg.addTaskConfigMap(taskCfgMap); <h4 id="Targeted_Job">Targeted Job</h4> <p>Targeted Job has set up the target resource. For this kind of job, Job command is necessary, but number of tasks is not. The tasks will depends on the partion number of targeted resource. To set target resource, just put target resource name to JobConfig.Builder.</p> <div class="source"> - <pre><code>myJobCfgBuilder.setTargetResource("TargetResourceName"); + <pre><code>myJobCfgBuilder.setTargetResource("TargetResourceName"); </code></pre> </div> <p>In addition, user can specify the instance target state. For example, if user want to run the Task on âMasterâ state instance, setTargetPartitionState method can help to set the partition to assign to specific instance.</p> <div class="source"> - <pre><code>myJobCfgBuilder.setTargetPartitionState(Arrays.asList(new String[]{"Master", "Slave"})); + <pre><code>myJobCfgBuilder.setTargetPartitionState(Arrays.asList(new String[]{"Master", "Slave"})); </code></pre> </div> </section> @@ -496,7 +509,7 @@ myJobCfg.addTaskConfigMap(taskCfgMap); <h4 id="Instance_Group">Instance Group</h4> <p>Grouping jobs with targeted group of instances feature has been supported. User firstly have to define the instance group tag for instances, which means label some instances with specific tag. Then user can put those tags to a job that only would like to assigned to those instances. For example, customer data only available on instance 1, 2, 3. These three instances can be tagged as âCUSTOMERâ and customer data related jobs can set the instance group tag âCUSTOMERâ. Thus customer data related jobs will only assign to instance 1, 2, 3. To add instance group tag, just set it in JobConfig.Builder:</p> <div class="source"> - <pre><code>jobCfg.setInstanceGroupTag("INSTANCEGROUPTAG"); + <pre><code>jobCfg.setInstanceGroupTag("INSTANCEGROUPTAG"); </code></pre> </div> </section> @@ -591,14 +604,14 @@ myJobCfgBuilder.setExecutionStart(startT </ul> <p>For example:</p> <div class="source"> - <pre><code>taskDriver.pollForJobState("MyWorkflowName", "MyJobName", 180000L, TaskState.FAILED, TaskState.FATAL_FAILED); -taskDriver.pollForJobState("MyWorkflowName", "MyJobName", TaskState.COMPLETED); + <pre><code>taskDriver.pollForJobState("MyWorkflowName", "MyJobName", 180000L, TaskState.FAILED, TaskState.FATAL_FAILED); +taskDriver.pollForJobState("MyWorkflowName", "MyJobName", TaskState.COMPLETED); </code></pre> </div> <p>For pollForWorkflowState, it accepts similar arguments except Job name. For example:</p> <div class="source"> - <pre><code>taskDriver.pollForWorkflowState("MyWorkflowName", 180000L, TaskState.FAILED, TaskState.FATAL_FAILED); -taskDriver.pollForWorkflowState("MyWorkflowName", TaskState.COMPLETED); + <pre><code>taskDriver.pollForWorkflowState("MyWorkflowName", 180000L, TaskState.FAILED, TaskState.FATAL_FAILED); +taskDriver.pollForWorkflowState("MyWorkflowName", TaskState.COMPLETED); </code></pre> </div> <section> @@ -680,7 +693,7 @@ taskDriver.pollForWorkflowState("My <div class="span12"> <p class="pull-right"><a href="#">Back to top</a></p> <p class="copyright">Copyright ©2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="https://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p> + <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> maintained by <a href="https://twitter.com/olamy" target="_blank" title="Olivier Lamy">Olivier Lamy</a>.</p> <div class="row span16"><div>Apache Helix, Apache, the Apache feather logo, and the Apache Helix project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> <a href="https://helix.apache.org/0.9.9-docs/privacy-policy.html">Privacy Policy</a>
Modified: helix/site-content/0.9.9-docs/tutorial_task_throttling.html URL: http://svn.apache.org/viewvc/helix/site-content/0.9.9-docs/tutorial_task_throttling.html?rev=1900255&r1=1900254&r2=1900255&view=diff ============================================================================== --- helix/site-content/0.9.9-docs/tutorial_task_throttling.html (original) +++ helix/site-content/0.9.9-docs/tutorial_task_throttling.html Mon Apr 25 08:18:23 2022 @@ -1,7 +1,13 @@ <!DOCTYPE html> + + + + + + <!-- - Generated by Apache Maven Doxia at 2022-04-23 Rendered using Reflow Maven Skin 2.0.0-SNAPSHOT (https://andriusvelykis.github.io/reflow-maven-skin) + Generated by Apache Maven Doxia at 2022-04-25 Rendered using Reflow Maven Skin 2.0.0 (https://olamy.github.io/reflow-maven-skin) --> <html xml:lang="en" lang="en"> @@ -29,24 +35,31 @@ <![endif]--> - <script type="text/javascript"> - - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-3211522-12']); - _gaq.push(['_trackPageview']); - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> - </head> + +<!-- Matomo --> +<script> + var _paq = window._paq = window._paq || []; + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + + (function() { + var u="https://analytics.apache.org"; + _paq.push(['setTrackerUrl', u+'/matomo.php']); + _paq.push(['setSiteId', '15']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s); + })(); +</script> +<!-- End Matomo Code --> + </head> <body class="page-tutorial_task_throttling project-099-docs" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target"> + <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> @@ -119,7 +132,7 @@ <li><a href="./" title="Release 0.9.9">Release 0.9.9</a></li> <li class="divider">/</li> <li>Tutorial - Task Throttling</li> - <li class="publishDate version-date pull-right">Last Published: 2022-04-23</li> + <li class="publishDate version-date pull-right">Last Published: 2022-04-25</li> </ul> </div> </header> @@ -234,7 +247,7 @@ under the License. <div class="span12"> <p class="pull-right"><a href="#">Back to top</a></p> <p class="copyright">Copyright ©2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="https://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p> + <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> maintained by <a href="https://twitter.com/olamy" target="_blank" title="Olivier Lamy">Olivier Lamy</a>.</p> <div class="row span16"><div>Apache Helix, Apache, the Apache feather logo, and the Apache Helix project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> <a href="https://helix.apache.org/0.9.9-docs/privacy-policy.html">Privacy Policy</a> Modified: helix/site-content/0.9.9-docs/tutorial_throttling.html URL: http://svn.apache.org/viewvc/helix/site-content/0.9.9-docs/tutorial_throttling.html?rev=1900255&r1=1900254&r2=1900255&view=diff ============================================================================== --- helix/site-content/0.9.9-docs/tutorial_throttling.html (original) +++ helix/site-content/0.9.9-docs/tutorial_throttling.html Mon Apr 25 08:18:23 2022 @@ -1,7 +1,13 @@ <!DOCTYPE html> + + + + + + <!-- - Generated by Apache Maven Doxia at 2022-04-23 Rendered using Reflow Maven Skin 2.0.0-SNAPSHOT (https://andriusvelykis.github.io/reflow-maven-skin) + Generated by Apache Maven Doxia at 2022-04-25 Rendered using Reflow Maven Skin 2.0.0 (https://olamy.github.io/reflow-maven-skin) --> <html xml:lang="en" lang="en"> @@ -29,24 +35,31 @@ <![endif]--> - <script type="text/javascript"> - - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-3211522-12']); - _gaq.push(['_trackPageview']); - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> - </head> + +<!-- Matomo --> +<script> + var _paq = window._paq = window._paq || []; + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + + (function() { + var u="https://analytics.apache.org"; + _paq.push(['setTrackerUrl', u+'/matomo.php']); + _paq.push(['setSiteId', '15']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s); + })(); +</script> +<!-- End Matomo Code --> + </head> <body class="page-tutorial_throttling project-099-docs" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target"> + <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> @@ -119,7 +132,7 @@ <li><a href="./" title="Release 0.9.9">Release 0.9.9</a></li> <li class="divider">/</li> <li>Tutorial - Throttling</li> - <li class="publishDate version-date pull-right">Last Published: 2022-04-23</li> + <li class="publishDate version-date pull-right">Last Published: 2022-04-25</li> </ul> </div> </header> @@ -232,7 +245,7 @@ under the License. <div class="span12"> <p class="pull-right"><a href="#">Back to top</a></p> <p class="copyright">Copyright ©2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="https://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p> + <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> maintained by <a href="https://twitter.com/olamy" target="_blank" title="Olivier Lamy">Olivier Lamy</a>.</p> <div class="row span16"><div>Apache Helix, Apache, the Apache feather logo, and the Apache Helix project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> <a href="https://helix.apache.org/0.9.9-docs/privacy-policy.html">Privacy Policy</a> Modified: helix/site-content/0.9.9-docs/tutorial_ui.html URL: http://svn.apache.org/viewvc/helix/site-content/0.9.9-docs/tutorial_ui.html?rev=1900255&r1=1900254&r2=1900255&view=diff ============================================================================== --- helix/site-content/0.9.9-docs/tutorial_ui.html (original) +++ helix/site-content/0.9.9-docs/tutorial_ui.html Mon Apr 25 08:18:23 2022 @@ -1,7 +1,13 @@ <!DOCTYPE html> + + + + + + <!-- - Generated by Apache Maven Doxia at 2022-04-23 Rendered using Reflow Maven Skin 2.0.0-SNAPSHOT (https://andriusvelykis.github.io/reflow-maven-skin) + Generated by Apache Maven Doxia at 2022-04-25 Rendered using Reflow Maven Skin 2.0.0 (https://olamy.github.io/reflow-maven-skin) --> <html xml:lang="en" lang="en"> @@ -29,24 +35,31 @@ <![endif]--> - <script type="text/javascript"> - - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-3211522-12']); - _gaq.push(['_trackPageview']); - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> - </head> + +<!-- Matomo --> +<script> + var _paq = window._paq = window._paq || []; + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + + (function() { + var u="https://analytics.apache.org"; + _paq.push(['setTrackerUrl', u+'/matomo.php']); + _paq.push(['setSiteId', '15']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s); + })(); +</script> +<!-- End Matomo Code --> + </head> <body class="page-tutorial_ui project-099-docs" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target"> + <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> @@ -119,7 +132,7 @@ <li><a href="./" title="Release 0.9.9">Release 0.9.9</a></li> <li class="divider">/</li> <li>Tutorial - Helix UI Setup</li> - <li class="publishDate version-date pull-right">Last Published: 2022-04-23</li> + <li class="publishDate version-date pull-right">Last Published: 2022-04-25</li> </ul> </div> </header> @@ -233,10 +246,10 @@ exports.HELIX_ENDPOINTS = { <section> <h3 id="Introduction">Introduction</h3> <p>The primary UI will look like this:</p> - <p><img src="./images/UIScreenshot.png" alt="UI Screenshot" /></p> + <p><img src="./images/UIScreenshot.png" alt="UI Screenshot"></p> <p>The left side is the cluster list, and the right side is the detailed cluster view if you click one on the left. You will find resource list, workflow list and instance list of the cluster as well as the cluster configurations.</p> <p>When navigating into a single resource, Helix UI will show the partition placement with comparison of idealStates and externalViews like this:</p> - <p><img src="./images/UIScreenshot2.png" alt="UI Screenshot" /></p> + <p><img src="./images/UIScreenshot2.png" alt="UI Screenshot"></p> </section> </section> </div> @@ -308,7 +321,7 @@ exports.HELIX_ENDPOINTS = { <div class="span12"> <p class="pull-right"><a href="#">Back to top</a></p> <p class="copyright">Copyright ©2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="https://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p> + <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> maintained by <a href="https://twitter.com/olamy" target="_blank" title="Olivier Lamy">Olivier Lamy</a>.</p> <div class="row span16"><div>Apache Helix, Apache, the Apache feather logo, and the Apache Helix project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> <a href="https://helix.apache.org/0.9.9-docs/privacy-policy.html">Privacy Policy</a> Modified: helix/site-content/0.9.9-docs/tutorial_user_content_store.html URL: http://svn.apache.org/viewvc/helix/site-content/0.9.9-docs/tutorial_user_content_store.html?rev=1900255&r1=1900254&r2=1900255&view=diff ============================================================================== --- helix/site-content/0.9.9-docs/tutorial_user_content_store.html (original) +++ helix/site-content/0.9.9-docs/tutorial_user_content_store.html Mon Apr 25 08:18:23 2022 @@ -1,7 +1,13 @@ <!DOCTYPE html> + + + + + + <!-- - Generated by Apache Maven Doxia at 2022-04-23 Rendered using Reflow Maven Skin 2.0.0-SNAPSHOT (https://andriusvelykis.github.io/reflow-maven-skin) + Generated by Apache Maven Doxia at 2022-04-25 Rendered using Reflow Maven Skin 2.0.0 (https://olamy.github.io/reflow-maven-skin) --> <html xml:lang="en" lang="en"> @@ -29,24 +35,31 @@ <![endif]--> - <script type="text/javascript"> - - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-3211522-12']); - _gaq.push(['_trackPageview']); - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> - </head> + +<!-- Matomo --> +<script> + var _paq = window._paq = window._paq || []; + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + + (function() { + var u="https://analytics.apache.org"; + _paq.push(['setTrackerUrl', u+'/matomo.php']); + _paq.push(['setSiteId', '15']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s); + })(); +</script> +<!-- End Matomo Code --> + </head> <body class="page-tutorial_user_content_store project-099-docs" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target"> + <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> @@ -119,7 +132,7 @@ <li><a href="./" title="Release 0.9.9">Release 0.9.9</a></li> <li class="divider">/</li> <li>Tutorial - User Defined Content Store for Tasks</li> - <li class="publishDate version-date pull-right">Last Published: 2022-04-23</li> + <li class="publishDate version-date pull-right">Last Published: 2022-04-25</li> </ul> </div> </header> @@ -179,14 +192,14 @@ under the License. <pre><code> private static class ContentStoreTask extends UserContentStore implements Task { @Override public TaskResult run() { // put values into the store - putUserContent("ContentTest", "Value1", Scope.JOB); - putUserContent("ContentTest", "Value2", Scope.WORKFLOW); - putUserContent("ContentTest", "Value3", Scope.TASK); + putUserContent("ContentTest", "Value1", Scope.JOB); + putUserContent("ContentTest", "Value2", Scope.WORKFLOW); + putUserContent("ContentTest", "Value3", Scope.TASK); // get the values with the same key in the different scopes - if (!getUserContent("ContentTest", Scope.JOB).equals("Value1") || - !getUserContent("ContentTest", Scope.WORKFLOW).equals("Value2") || - !getUserContent("ContentTest", Scope.TASK).equals("Value3")) { + if (!getUserContent("ContentTest", Scope.JOB).equals("Value1") || + !getUserContent("ContentTest", Scope.WORKFLOW).equals("Value2") || + !getUserContent("ContentTest", Scope.TASK).equals("Value3")) { return new TaskResult(TaskResult.Status.FAILED, null); } @@ -266,7 +279,7 @@ under the License. <div class="span12"> <p class="pull-right"><a href="#">Back to top</a></p> <p class="copyright">Copyright ©2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="https://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p> + <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> maintained by <a href="https://twitter.com/olamy" target="_blank" title="Olivier Lamy">Olivier Lamy</a>.</p> <div class="row span16"><div>Apache Helix, Apache, the Apache feather logo, and the Apache Helix project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> <a href="https://helix.apache.org/0.9.9-docs/privacy-policy.html">Privacy Policy</a> Modified: helix/site-content/0.9.9-docs/tutorial_user_def_rebalancer.html URL: http://svn.apache.org/viewvc/helix/site-content/0.9.9-docs/tutorial_user_def_rebalancer.html?rev=1900255&r1=1900254&r2=1900255&view=diff ============================================================================== --- helix/site-content/0.9.9-docs/tutorial_user_def_rebalancer.html (original) +++ helix/site-content/0.9.9-docs/tutorial_user_def_rebalancer.html Mon Apr 25 08:18:23 2022 @@ -1,7 +1,13 @@ <!DOCTYPE html> + + + + + + <!-- - Generated by Apache Maven Doxia at 2022-04-23 Rendered using Reflow Maven Skin 2.0.0-SNAPSHOT (https://andriusvelykis.github.io/reflow-maven-skin) + Generated by Apache Maven Doxia at 2022-04-25 Rendered using Reflow Maven Skin 2.0.0 (https://olamy.github.io/reflow-maven-skin) --> <html xml:lang="en" lang="en"> @@ -29,24 +35,31 @@ <![endif]--> - <script type="text/javascript"> - - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-3211522-12']); - _gaq.push(['_trackPageview']); - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> - </head> + +<!-- Matomo --> +<script> + var _paq = window._paq = window._paq || []; + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + + (function() { + var u="https://analytics.apache.org"; + _paq.push(['setTrackerUrl', u+'/matomo.php']); + _paq.push(['setSiteId', '15']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s); + })(); +</script> +<!-- End Matomo Code --> + </head> <body class="page-tutorial_user_def_rebalancer project-099-docs" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target"> + <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> @@ -119,7 +132,7 @@ <li><a href="./" title="Release 0.9.9">Release 0.9.9</a></li> <li class="divider">/</li> <li>Tutorial - User-Defined Rebalancing</li> - <li class="publishDate version-date pull-right">Last Published: 2022-04-23</li> + <li class="publishDate version-date pull-right">Last Published: 2022-04-25</li> </ul> </div> </header> @@ -216,12 +229,12 @@ IdealState computeNewIdealState(String r </ul> <div class="source"> <pre><code>{ - "lock_0": ["Participant_A"], - "lock_1": ["Participant_A"], - "lock_2": ["Participant_A"], - "lock_3": ["Participant_A"], - "lock_4": ["Participant_A"], - "lock_5": ["Participant_A"], + "lock_0": ["Participant_A"], + "lock_1": ["Participant_A"], + "lock_2": ["Participant_A"], + "lock_3": ["Participant_A"], + "lock_4": ["Participant_A"], + "lock_5": ["Participant_A"], } </code></pre> </div> @@ -231,12 +244,12 @@ IdealState computeNewIdealState(String r </ul> <div class="source"> <pre><code>{ - "lock_0": ["Participant_A"], - "lock_1": ["Participant_B"], - "lock_2": ["Participant_A"], - "lock_3": ["Participant_B"], - "lock_4": ["Participant_A"], - "lock_5": ["Participant_B"], + "lock_0": ["Participant_A"], + "lock_1": ["Participant_B"], + "lock_2": ["Participant_A"], + "lock_3": ["Participant_B"], + "lock_4": ["Participant_A"], + "lock_5": ["Participant_B"], } </code></pre> </div> @@ -246,27 +259,27 @@ IdealState computeNewIdealState(String r </ul> <div class="source"> <pre><code>{ - "lock_0": ["Participant_A"], - "lock_1": ["Participant_B"], - "lock_2": ["Participant_C"], - "lock_3": ["Participant_A"], - "lock_4": ["Participant_B"], - "lock_5": ["Participant_C"], + "lock_0": ["Participant_A"], + "lock_1": ["Participant_B"], + "lock_2": ["Participant_C"], + "lock_3": ["Participant_A"], + "lock_4": ["Participant_B"], + "lock_5": ["Participant_C"], } </code></pre> </div> - <p>This is the steady state of the system. Notice that four of the six locks now have a different owner. That is because of the naïve modulus-based assignmemt approach used by the user-defined rebalancer. However, the interface is flexible enough to allow you to employ consistent hashing or any other scheme if minimal movement is a system requirement.</p> + <p>This is the steady state of the system. Notice that four of the six locks now have a different owner. That is because of the naïve modulus-based assignmemt approach used by the user-defined rebalancer. However, the interface is flexible enough to allow you to employ consistent hashing or any other scheme if minimal movement is a system requirement.</p> <ul> <li>Participant_B fails</li> </ul> <div class="source"> <pre><code>{ - "lock_0": ["Participant_A"], - "lock_1": ["Participant_C"], - "lock_2": ["Participant_A"], - "lock_3": ["Participant_C"], - "lock_4": ["Participant_A"], - "lock_5": ["Participant_C"], + "lock_0": ["Participant_A"], + "lock_1": ["Participant_C"], + "lock_2": ["Participant_A"], + "lock_3": ["Participant_C"], + "lock_4": ["Participant_A"], + "lock_5": ["Participant_C"], } </code></pre> </div> @@ -276,12 +289,12 @@ IdealState computeNewIdealState(String r </ul> <div class="source"> <pre><code>{ - "lock_0": ["Participant_A"], - "lock_1": ["Participant_B"], - "lock_2": ["Participant_C"], - "lock_3": ["Participant_A"], - "lock_4": ["Participant_B"], - "lock_5": ["Participant_C"], + "lock_0": ["Participant_A"], + "lock_1": ["Participant_B"], + "lock_2": ["Participant_C"], + "lock_3": ["Participant_A"], + "lock_4": ["Participant_B"], + "lock_5": ["Participant_C"], } </code></pre> </div> @@ -365,7 +378,7 @@ IdealState computeNewIdealState(String r <div class="span12"> <p class="pull-right"><a href="#">Back to top</a></p> <p class="copyright">Copyright ©2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="https://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p> + <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> maintained by <a href="https://twitter.com/olamy" target="_blank" title="Olivier Lamy">Olivier Lamy</a>.</p> <div class="row span16"><div>Apache Helix, Apache, the Apache feather logo, and the Apache Helix project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> <a href="https://helix.apache.org/0.9.9-docs/privacy-policy.html">Privacy Policy</a> Modified: helix/site-content/0.9.9-docs/tutorial_yaml.html URL: http://svn.apache.org/viewvc/helix/site-content/0.9.9-docs/tutorial_yaml.html?rev=1900255&r1=1900254&r2=1900255&view=diff ============================================================================== --- helix/site-content/0.9.9-docs/tutorial_yaml.html (original) +++ helix/site-content/0.9.9-docs/tutorial_yaml.html Mon Apr 25 08:18:23 2022 @@ -1,7 +1,13 @@ <!DOCTYPE html> + + + + + + <!-- - Generated by Apache Maven Doxia at 2022-04-23 Rendered using Reflow Maven Skin 2.0.0-SNAPSHOT (https://andriusvelykis.github.io/reflow-maven-skin) + Generated by Apache Maven Doxia at 2022-04-25 Rendered using Reflow Maven Skin 2.0.0 (https://olamy.github.io/reflow-maven-skin) --> <html xml:lang="en" lang="en"> @@ -29,24 +35,31 @@ <![endif]--> - <script type="text/javascript"> - - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-3211522-12']); - _gaq.push(['_trackPageview']); - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> - </head> + +<!-- Matomo --> +<script> + var _paq = window._paq = window._paq || []; + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + + (function() { + var u="https://analytics.apache.org"; + _paq.push(['setTrackerUrl', u+'/matomo.php']); + _paq.push(['setSiteId', '15']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s); + })(); +</script> +<!-- End Matomo Code --> + </head> <body class="page-tutorial_yaml project-099-docs" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target"> + <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> @@ -119,7 +132,7 @@ <li><a href="./" title="Release 0.9.9">Release 0.9.9</a></li> <li class="divider">/</li> <li>Tutorial - YAML Cluster Setup</li> - <li class="publishDate version-date pull-right">Last Published: 2022-04-23</li> + <li class="publishDate version-date pull-right">Last Published: 2022-04-25</li> </ul> </div> </header> @@ -185,11 +198,11 @@ resources: state: counts: # maximum number of replicas of a partition that can be in each state (required if model not built-in) - name: LOCKED - count: "1" + count: "1" - name: RELEASED - count: "-1" + count: "-1" - name: DROPPED - count: "-1" + count: "-1" priorityList: [LOCKED, RELEASED, DROPPED] # states in order of priority (all priorities equal if not specified) transition: # transitions priority to enforce order that transitions occur priorityList: [Unlock, Lock, Undrop, DropUnlock, DropLock] # all priorities equal if not specified @@ -215,7 +228,7 @@ participants: # list of nodes that can s <pre><code>YAMLClusterSetup setup = new YAMLClusterSetup(zkAddress); InputStream input = Thread.currentThread().getContextClassLoader() - .getResourceAsStream("lock-manager-config.yaml"); + .getResourceAsStream("lock-manager-config.yaml"); YAMLClusterSetup.YAMLClusterConfig config = setup.setupCluster(input); </code></pre> </div> @@ -294,7 +307,7 @@ YAMLClusterSetup.YAMLClusterConfig confi <div class="span12"> <p class="pull-right"><a href="#">Back to top</a></p> <p class="copyright">Copyright ©2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="https://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p> + <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> maintained by <a href="https://twitter.com/olamy" target="_blank" title="Olivier Lamy">Olivier Lamy</a>.</p> <div class="row span16"><div>Apache Helix, Apache, the Apache feather logo, and the Apache Helix project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> <a href="https://helix.apache.org/0.9.9-docs/privacy-policy.html">Privacy Policy</a> Modified: helix/site-content/1.0.2-docs/Building.html URL: http://svn.apache.org/viewvc/helix/site-content/1.0.2-docs/Building.html?rev=1900255&r1=1900254&r2=1900255&view=diff ============================================================================== --- helix/site-content/1.0.2-docs/Building.html (original) +++ helix/site-content/1.0.2-docs/Building.html Mon Apr 25 08:18:23 2022 @@ -1,7 +1,13 @@ <!DOCTYPE html> + + + + + + <!-- - Generated by Apache Maven Doxia at 2022-04-23 Rendered using Reflow Maven Skin 2.0.0-SNAPSHOT (https://andriusvelykis.github.io/reflow-maven-skin) + Generated by Apache Maven Doxia at 2022-04-25 Rendered using Reflow Maven Skin 2.0.0 (https://olamy.github.io/reflow-maven-skin) --> <html xml:lang="en" lang="en"> @@ -29,24 +35,31 @@ <![endif]--> - <script type="text/javascript"> - - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-3211522-12']); - _gaq.push(['_trackPageview']); - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> - </head> + +<!-- Matomo --> +<script> + var _paq = window._paq = window._paq || []; + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + + (function() { + var u="https://analytics.apache.org"; + _paq.push(['setTrackerUrl', u+'/matomo.php']); + _paq.push(['setSiteId', '15']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s); + })(); +</script> +<!-- End Matomo Code --> + </head> <body class="page-building project-102-docs" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target"> + <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> @@ -119,7 +132,7 @@ <li><a href="./" title="Release 1.0.2">Release 1.0.2</a></li> <li class="divider">/</li> <li>Build Instructions</li> - <li class="publishDate version-date pull-right">Last Published: 2022-04-23</li> + <li class="publishDate version-date pull-right">Last Published: 2022-04-25</li> </ul> </div> </header> @@ -242,7 +255,7 @@ mvn install package -DskipTests <div class="span12"> <p class="pull-right"><a href="#">Back to top</a></p> <p class="copyright">Copyright ©2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="https://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p> + <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> maintained by <a href="https://twitter.com/olamy" target="_blank" title="Olivier Lamy">Olivier Lamy</a>.</p> <div class="row span16"><div>Apache Helix, Apache, the Apache feather logo, and the Apache Helix project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> <a href="https://helix.apache.org/1.0.2-docs/privacy-policy.html">Privacy Policy</a> Modified: helix/site-content/1.0.2-docs/Features.html URL: http://svn.apache.org/viewvc/helix/site-content/1.0.2-docs/Features.html?rev=1900255&r1=1900254&r2=1900255&view=diff ============================================================================== --- helix/site-content/1.0.2-docs/Features.html (original) +++ helix/site-content/1.0.2-docs/Features.html Mon Apr 25 08:18:23 2022 @@ -1,7 +1,13 @@ <!DOCTYPE html> + + + + + + <!-- - Generated by Apache Maven Doxia at 2022-04-23 Rendered using Reflow Maven Skin 2.0.0-SNAPSHOT (https://andriusvelykis.github.io/reflow-maven-skin) + Generated by Apache Maven Doxia at 2022-04-25 Rendered using Reflow Maven Skin 2.0.0 (https://olamy.github.io/reflow-maven-skin) --> <html xml:lang="en" lang="en"> @@ -29,24 +35,31 @@ <![endif]--> - <script type="text/javascript"> - - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-3211522-12']); - _gaq.push(['_trackPageview']); - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> - </head> + +<!-- Matomo --> +<script> + var _paq = window._paq = window._paq || []; + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + + (function() { + var u="https://analytics.apache.org"; + _paq.push(['setTrackerUrl', u+'/matomo.php']); + _paq.push(['setSiteId', '15']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s); + })(); +</script> +<!-- End Matomo Code --> + </head> <body class="page-features project-102-docs" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target"> + <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> @@ -119,7 +132,7 @@ <li><a href="./" title="Release 1.0.2">Release 1.0.2</a></li> <li class="divider">/</li> <li>Features</li> - <li class="publishDate version-date pull-right">Last Published: 2022-04-23</li> + <li class="publishDate version-date pull-right">Last Published: 2022-04-25</li> </ul> </div> </header> @@ -180,19 +193,19 @@ under the License. <p>When the idealstate mode is set to AUTO_REBALANCE, Helix controls both the location of the replica along with the state. This option is useful for applications where creation of a replica is not expensive. Example</p> <div class="source"> <pre><code>{ - "id" : "MyResource", - "simpleFields" : { - "IDEAL_STATE_MODE" : "AUTO_REBALANCE", - "NUM_PARTITIONS" : "3", - "REPLICAS" : "2", - "STATE_MODEL_DEF_REF" : "MasterSlave", + "id" : "MyResource", + "simpleFields" : { + "IDEAL_STATE_MODE" : "AUTO_REBALANCE", + "NUM_PARTITIONS" : "3", + "REPLICAS" : "2", + "STATE_MODEL_DEF_REF" : "MasterSlave", } - "listFields" : { - "MyResource_0" : [], - "MyResource_1" : [], - "MyResource_2" : [] + "listFields" : { + "MyResource_0" : [], + "MyResource_1" : [], + "MyResource_2" : [] }, - "mapFields" : { + "mapFields" : { } } </code></pre> @@ -200,24 +213,24 @@ under the License. <p>If there are 3 nodes in the cluster, then Helix will internally compute the ideal state as</p> <div class="source"> <pre><code>{ - "id" : "MyResource", - "simpleFields" : { - "NUM_PARTITIONS" : "3", - "REPLICAS" : "2", - "STATE_MODEL_DEF_REF" : "MasterSlave", + "id" : "MyResource", + "simpleFields" : { + "NUM_PARTITIONS" : "3", + "REPLICAS" : "2", + "STATE_MODEL_DEF_REF" : "MasterSlave", }, - "mapFields" : { - "MyResource_0" : { - "N1" : "MASTER", - "N2" : "SLAVE", + "mapFields" : { + "MyResource_0" : { + "N1" : "MASTER", + "N2" : "SLAVE", }, - "MyResource_1" : { - "N2" : "MASTER", - "N3" : "SLAVE", + "MyResource_1" : { + "N2" : "MASTER", + "N3" : "SLAVE", }, - "MyResource_2" : { - "N3" : "MASTER", - "N1" : "SLAVE", + "MyResource_2" : { + "N3" : "MASTER", + "N1" : "SLAVE", } } } @@ -231,19 +244,19 @@ under the License. <p>When the idealstate mode is set to AUTO, Helix only controls STATE of the replicas where as the location of the partition is controlled by application. Example: The below idealstate indicates thats âMyResource_0â must be only on node1 and node2. But gives the control of assigning the STATE to Helix.</p> <div class="source"> <pre><code>{ - "id" : "MyResource", - "simpleFields" : { - "IDEAL_STATE_MODE" : "AUTO", - "NUM_PARTITIONS" : "3", - "REPLICAS" : "2", - "STATE_MODEL_DEF_REF" : "MasterSlave", + "id" : "MyResource", + "simpleFields" : { + "IDEAL_STATE_MODE" : "AUTO", + "NUM_PARTITIONS" : "3", + "REPLICAS" : "2", + "STATE_MODEL_DEF_REF" : "MasterSlave", } - "listFields" : { - "MyResource_0" : [node1, node2], - "MyResource_1" : [node2, node3], - "MyResource_2" : [node3, node1] + "listFields" : { + "MyResource_0" : [node1, node2], + "MyResource_1" : [node2, node3], + "MyResource_2" : [node3, node1] }, - "mapFields" : { + "mapFields" : { } } </code></pre> @@ -255,25 +268,25 @@ under the License. <p>Helix offers a third mode called CUSTOM, in which application can completely control the placement and state of each replica. Applications will have to implement an interface that Helix will invoke when the cluster state changes. Within this callback, the application can recompute the idealstate. Helix will then issue appropriate transitions such that Idealstate and Currentstate converges.</p> <div class="source"> <pre><code>{ - "id" : "MyResource", - "simpleFields" : { - "IDEAL_STATE_MODE" : "CUSTOM", - "NUM_PARTITIONS" : "3", - "REPLICAS" : "2", - "STATE_MODEL_DEF_REF" : "MasterSlave", + "id" : "MyResource", + "simpleFields" : { + "IDEAL_STATE_MODE" : "CUSTOM", + "NUM_PARTITIONS" : "3", + "REPLICAS" : "2", + "STATE_MODEL_DEF_REF" : "MasterSlave", }, - "mapFields" : { - "MyResource_0" : { - "N1" : "MASTER", - "N2" : "SLAVE", + "mapFields" : { + "MyResource_0" : { + "N1" : "MASTER", + "N2" : "SLAVE", }, - "MyResource_1" : { - "N2" : "MASTER", - "N3" : "SLAVE", + "MyResource_1" : { + "N2" : "MASTER", + "N3" : "SLAVE", }, - "MyResource_2" : { - "N3" : "MASTER", - "N1" : "SLAVE", + "MyResource_2" : { + "N3" : "MASTER", + "N1" : "SLAVE", } } } @@ -322,10 +335,10 @@ under the License. requestBackupUriRequest.setMsgState(MessageState.NEW); //SET THE RECIPIENT CRITERIA, All nodes that satisfy the criteria will receive the message Criteria recipientCriteria = new Criteria(); - recipientCriteria.setInstanceName("%"); + recipientCriteria.setInstanceName("%"); recipientCriteria.setRecipientInstanceType(InstanceType.PARTICIPANT); - recipientCriteria.setResource("MyDB"); - recipientCriteria.setPartition(""); + recipientCriteria.setResource("MyDB"); + recipientCriteria.setPartition(""); //Should be processed only the process that is active at the time of sending the message. //This means if the recipient is restarted after message is sent, it will not be processed. recipientCriteria.setSessionSpecific(true); @@ -450,7 +463,7 @@ under the License. <div class="span12"> <p class="pull-right"><a href="#">Back to top</a></p> <p class="copyright">Copyright ©2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="https://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p> + <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> maintained by <a href="https://twitter.com/olamy" target="_blank" title="Olivier Lamy">Olivier Lamy</a>.</p> <div class="row span16"><div>Apache Helix, Apache, the Apache feather logo, and the Apache Helix project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> <a href="https://helix.apache.org/1.0.2-docs/privacy-policy.html">Privacy Policy</a> Modified: helix/site-content/1.0.2-docs/Metrics.html URL: http://svn.apache.org/viewvc/helix/site-content/1.0.2-docs/Metrics.html?rev=1900255&r1=1900254&r2=1900255&view=diff ============================================================================== --- helix/site-content/1.0.2-docs/Metrics.html (original) +++ helix/site-content/1.0.2-docs/Metrics.html Mon Apr 25 08:18:23 2022 @@ -1,7 +1,13 @@ <!DOCTYPE html> + + + + + + <!-- - Generated by Apache Maven Doxia at 2022-04-23 Rendered using Reflow Maven Skin 2.0.0-SNAPSHOT (https://andriusvelykis.github.io/reflow-maven-skin) + Generated by Apache Maven Doxia at 2022-04-25 Rendered using Reflow Maven Skin 2.0.0 (https://olamy.github.io/reflow-maven-skin) --> <html xml:lang="en" lang="en"> @@ -29,24 +35,31 @@ <![endif]--> - <script type="text/javascript"> - - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-3211522-12']); - _gaq.push(['_trackPageview']); - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> - </head> + +<!-- Matomo --> +<script> + var _paq = window._paq = window._paq || []; + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + + (function() { + var u="https://analytics.apache.org"; + _paq.push(['setTrackerUrl', u+'/matomo.php']); + _paq.push(['setSiteId', '15']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s); + })(); +</script> +<!-- End Matomo Code --> + </head> <body class="page-metrics project-102-docs" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target"> + <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> @@ -119,7 +132,7 @@ <li><a href="./" title="Release 1.0.2">Release 1.0.2</a></li> <li class="divider">/</li> <li>Helix Monitoring Metrics</li> - <li class="publishDate version-date pull-right">Last Published: 2022-04-23</li> + <li class="publishDate version-date pull-right">Last Published: 2022-04-25</li> </ul> </div> </header> @@ -820,7 +833,7 @@ under the License. <div class="span12"> <p class="pull-right"><a href="#">Back to top</a></p> <p class="copyright">Copyright ©2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="https://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p> + <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> maintained by <a href="https://twitter.com/olamy" target="_blank" title="Olivier Lamy">Olivier Lamy</a>.</p> <div class="row span16"><div>Apache Helix, Apache, the Apache feather logo, and the Apache Helix project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> <a href="https://helix.apache.org/1.0.2-docs/privacy-policy.html">Privacy Policy</a> Modified: helix/site-content/1.0.2-docs/Quickstart.html URL: http://svn.apache.org/viewvc/helix/site-content/1.0.2-docs/Quickstart.html?rev=1900255&r1=1900254&r2=1900255&view=diff ============================================================================== --- helix/site-content/1.0.2-docs/Quickstart.html (original) +++ helix/site-content/1.0.2-docs/Quickstart.html Mon Apr 25 08:18:23 2022 @@ -1,7 +1,13 @@ <!DOCTYPE html> + + + + + + <!-- - Generated by Apache Maven Doxia at 2022-04-23 Rendered using Reflow Maven Skin 2.0.0-SNAPSHOT (https://andriusvelykis.github.io/reflow-maven-skin) + Generated by Apache Maven Doxia at 2022-04-25 Rendered using Reflow Maven Skin 2.0.0 (https://olamy.github.io/reflow-maven-skin) --> <html xml:lang="en" lang="en"> @@ -29,24 +35,31 @@ <![endif]--> - <script type="text/javascript"> - - var _gaq = _gaq || []; - _gaq.push(['_setAccount', 'UA-3211522-12']); - _gaq.push(['_trackPageview']); - (function() { - var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); - })(); - </script> - </head> + +<!-- Matomo --> +<script> + var _paq = window._paq = window._paq || []; + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + + (function() { + var u="https://analytics.apache.org"; + _paq.push(['setTrackerUrl', u+'/matomo.php']); + _paq.push(['setSiteId', '15']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s); + })(); +</script> +<!-- End Matomo Code --> + </head> <body class="page-quickstart project-102-docs" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target"> + <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> @@ -119,7 +132,7 @@ <li><a href="./" title="Release 1.0.2">Release 1.0.2</a></li> <li class="divider">/</li> <li>Quickstart</li> - <li class="publishDate version-date pull-right">Last Published: 2022-04-23</li> + <li class="publishDate version-date pull-right">Last Published: 2022-04-25</li> </ul> </div> </header> @@ -399,15 +412,15 @@ localhost_12913 ./helix-admin.sh --zkSvr localhost:2199 --listInstanceInfo MYCLUSTER localhost_12913 InstanceConfig: { - "id" : "localhost_12913", - "mapFields" : { + "id" : "localhost_12913", + "mapFields" : { }, - "listFields" : { + "listFields" : { }, - "simpleFields" : { - "HELIX_ENABLED" : "true", - "HELIX_HOST" : "localhost", - "HELIX_PORT" : "12913" + "simpleFields" : { + "HELIX_ENABLED" : "true", + "HELIX_HOST" : "localhost", + "HELIX_PORT" : "12913" } } </code></pre> @@ -420,96 +433,96 @@ InstanceConfig: { IdealState for myDB: { - "id" : "myDB", - "mapFields" : { - "myDB_0" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "LEADER", - "localhost_12915" : "STANDBY" - }, - "myDB_1" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "STANDBY", - "localhost_12915" : "LEADER" - }, - "myDB_2" : { - "localhost_12913" : "LEADER", - "localhost_12914" : "STANDBY", - "localhost_12915" : "STANDBY" - }, - "myDB_3" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "STANDBY", - "localhost_12915" : "LEADER" - }, - "myDB_4" : { - "localhost_12913" : "LEADER", - "localhost_12914" : "STANDBY", - "localhost_12915" : "STANDBY" - }, - "myDB_5" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "LEADER", - "localhost_12915" : "STANDBY" + "id" : "myDB", + "mapFields" : { + "myDB_0" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "LEADER", + "localhost_12915" : "STANDBY" + }, + "myDB_1" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "STANDBY", + "localhost_12915" : "LEADER" + }, + "myDB_2" : { + "localhost_12913" : "LEADER", + "localhost_12914" : "STANDBY", + "localhost_12915" : "STANDBY" + }, + "myDB_3" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "STANDBY", + "localhost_12915" : "LEADER" + }, + "myDB_4" : { + "localhost_12913" : "LEADER", + "localhost_12914" : "STANDBY", + "localhost_12915" : "STANDBY" + }, + "myDB_5" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "LEADER", + "localhost_12915" : "STANDBY" } }, - "listFields" : { - "myDB_0" : [ "localhost_12914", "localhost_12913", "localhost_12915" ], - "myDB_1" : [ "localhost_12915", "localhost_12913", "localhost_12914" ], - "myDB_2" : [ "localhost_12913", "localhost_12915", "localhost_12914" ], - "myDB_3" : [ "localhost_12915", "localhost_12913", "localhost_12914" ], - "myDB_4" : [ "localhost_12913", "localhost_12914", "localhost_12915" ], - "myDB_5" : [ "localhost_12914", "localhost_12915", "localhost_12913" ] - }, - "simpleFields" : { - "IDEAL_STATE_MODE" : "AUTO", - "REBALANCE_MODE" : "SEMI_AUTO", - "NUM_PARTITIONS" : "6", - "REPLICAS" : "3", - "STATE_MODEL_DEF_REF" : "LeaderStandby", - "STATE_MODEL_FACTORY_NAME" : "DEFAULT" + "listFields" : { + "myDB_0" : [ "localhost_12914", "localhost_12913", "localhost_12915" ], + "myDB_1" : [ "localhost_12915", "localhost_12913", "localhost_12914" ], + "myDB_2" : [ "localhost_12913", "localhost_12915", "localhost_12914" ], + "myDB_3" : [ "localhost_12915", "localhost_12913", "localhost_12914" ], + "myDB_4" : [ "localhost_12913", "localhost_12914", "localhost_12915" ], + "myDB_5" : [ "localhost_12914", "localhost_12915", "localhost_12913" ] + }, + "simpleFields" : { + "IDEAL_STATE_MODE" : "AUTO", + "REBALANCE_MODE" : "SEMI_AUTO", + "NUM_PARTITIONS" : "6", + "REPLICAS" : "3", + "STATE_MODEL_DEF_REF" : "LeaderStandby", + "STATE_MODEL_FACTORY_NAME" : "DEFAULT" } } ExternalView for myDB: { - "id" : "myDB", - "mapFields" : { - "myDB_0" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "LEADER", - "localhost_12915" : "STANDBY" - }, - "myDB_1" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "STANDBY", - "localhost_12915" : "LEADER" - }, - "myDB_2" : { - "localhost_12913" : "LEADER", - "localhost_12914" : "STANDBY", - "localhost_12915" : "STANDBY" - }, - "myDB_3" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "STANDBY", - "localhost_12915" : "LEADER" - }, - "myDB_4" : { - "localhost_12913" : "LEADER", - "localhost_12914" : "STANDBY", - "localhost_12915" : "STANDBY" - }, - "myDB_5" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "LEADER", - "localhost_12915" : "STANDBY" + "id" : "myDB", + "mapFields" : { + "myDB_0" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "LEADER", + "localhost_12915" : "STANDBY" + }, + "myDB_1" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "STANDBY", + "localhost_12915" : "LEADER" + }, + "myDB_2" : { + "localhost_12913" : "LEADER", + "localhost_12914" : "STANDBY", + "localhost_12915" : "STANDBY" + }, + "myDB_3" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "STANDBY", + "localhost_12915" : "LEADER" + }, + "myDB_4" : { + "localhost_12913" : "LEADER", + "localhost_12914" : "STANDBY", + "localhost_12915" : "STANDBY" + }, + "myDB_5" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "LEADER", + "localhost_12915" : "STANDBY" } }, - "listFields" : { + "listFields" : { }, - "simpleFields" : { - "BUCKET_SIZE" : "0" + "simpleFields" : { + "BUCKET_SIZE" : "0" } } </code></pre> @@ -553,96 +566,96 @@ ExternalView for myDB: IdealState for myDB: { - "id" : "myDB", - "mapFields" : { - "myDB_0" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "STANDBY", - "localhost_12917" : "LEADER" - }, - "myDB_1" : { - "localhost_12916" : "STANDBY", - "localhost_12917" : "STANDBY", - "localhost_12918" : "LEADER" - }, - "myDB_2" : { - "localhost_12913" : "LEADER", - "localhost_12917" : "STANDBY", - "localhost_12918" : "STANDBY" - }, - "myDB_3" : { - "localhost_12915" : "LEADER", - "localhost_12917" : "STANDBY", - "localhost_12918" : "STANDBY" - }, - "myDB_4" : { - "localhost_12916" : "LEADER", - "localhost_12917" : "STANDBY", - "localhost_12918" : "STANDBY" - }, - "myDB_5" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "LEADER", - "localhost_12915" : "STANDBY" + "id" : "myDB", + "mapFields" : { + "myDB_0" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "STANDBY", + "localhost_12917" : "LEADER" + }, + "myDB_1" : { + "localhost_12916" : "STANDBY", + "localhost_12917" : "STANDBY", + "localhost_12918" : "LEADER" + }, + "myDB_2" : { + "localhost_12913" : "LEADER", + "localhost_12917" : "STANDBY", + "localhost_12918" : "STANDBY" + }, + "myDB_3" : { + "localhost_12915" : "LEADER", + "localhost_12917" : "STANDBY", + "localhost_12918" : "STANDBY" + }, + "myDB_4" : { + "localhost_12916" : "LEADER", + "localhost_12917" : "STANDBY", + "localhost_12918" : "STANDBY" + }, + "myDB_5" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "LEADER", + "localhost_12915" : "STANDBY" } }, - "listFields" : { - "myDB_0" : [ "localhost_12917", "localhost_12913", "localhost_12914" ], - "myDB_1" : [ "localhost_12918", "localhost_12917", "localhost_12916" ], - "myDB_2" : [ "localhost_12913", "localhost_12917", "localhost_12918" ], - "myDB_3" : [ "localhost_12915", "localhost_12917", "localhost_12918" ], - "myDB_4" : [ "localhost_12916", "localhost_12917", "localhost_12918" ], - "myDB_5" : [ "localhost_12914", "localhost_12915", "localhost_12913" ] - }, - "simpleFields" : { - "IDEAL_STATE_MODE" : "AUTO", - "REBALANCE_MODE" : "SEMI_AUTO", - "NUM_PARTITIONS" : "6", - "REPLICAS" : "3", - "STATE_MODEL_DEF_REF" : "LeaderStandby", - "STATE_MODEL_FACTORY_NAME" : "DEFAULT" + "listFields" : { + "myDB_0" : [ "localhost_12917", "localhost_12913", "localhost_12914" ], + "myDB_1" : [ "localhost_12918", "localhost_12917", "localhost_12916" ], + "myDB_2" : [ "localhost_12913", "localhost_12917", "localhost_12918" ], + "myDB_3" : [ "localhost_12915", "localhost_12917", "localhost_12918" ], + "myDB_4" : [ "localhost_12916", "localhost_12917", "localhost_12918" ], + "myDB_5" : [ "localhost_12914", "localhost_12915", "localhost_12913" ] + }, + "simpleFields" : { + "IDEAL_STATE_MODE" : "AUTO", + "REBALANCE_MODE" : "SEMI_AUTO", + "NUM_PARTITIONS" : "6", + "REPLICAS" : "3", + "STATE_MODEL_DEF_REF" : "LeaderStandby", + "STATE_MODEL_FACTORY_NAME" : "DEFAULT" } } ExternalView for myDB: { - "id" : "myDB", - "mapFields" : { - "myDB_0" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "STANDBY", - "localhost_12917" : "LEADER" - }, - "myDB_1" : { - "localhost_12916" : "STANDBY", - "localhost_12917" : "STANDBY", - "localhost_12918" : "LEADER" - }, - "myDB_2" : { - "localhost_12913" : "LEADER", - "localhost_12917" : "STANDBY", - "localhost_12918" : "STANDBY" - }, - "myDB_3" : { - "localhost_12915" : "LEADER", - "localhost_12917" : "STANDBY", - "localhost_12918" : "STANDBY" - }, - "myDB_4" : { - "localhost_12916" : "LEADER", - "localhost_12917" : "STANDBY", - "localhost_12918" : "STANDBY" - }, - "myDB_5" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "LEADER", - "localhost_12915" : "STANDBY" + "id" : "myDB", + "mapFields" : { + "myDB_0" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "STANDBY", + "localhost_12917" : "LEADER" + }, + "myDB_1" : { + "localhost_12916" : "STANDBY", + "localhost_12917" : "STANDBY", + "localhost_12918" : "LEADER" + }, + "myDB_2" : { + "localhost_12913" : "LEADER", + "localhost_12917" : "STANDBY", + "localhost_12918" : "STANDBY" + }, + "myDB_3" : { + "localhost_12915" : "LEADER", + "localhost_12917" : "STANDBY", + "localhost_12918" : "STANDBY" + }, + "myDB_4" : { + "localhost_12916" : "LEADER", + "localhost_12917" : "STANDBY", + "localhost_12918" : "STANDBY" + }, + "myDB_5" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "LEADER", + "localhost_12915" : "STANDBY" } }, - "listFields" : { + "listFields" : { }, - "simpleFields" : { - "BUCKET_SIZE" : "0" + "simpleFields" : { + "BUCKET_SIZE" : "0" } } </code></pre> @@ -659,92 +672,92 @@ ExternalView for myDB: IdealState for myDB: { - "id" : "myDB", - "mapFields" : { - "myDB_0" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "STANDBY", - "localhost_12917" : "LEADER" - }, - "myDB_1" : { - "localhost_12916" : "STANDBY", - "localhost_12917" : "STANDBY", - "localhost_12918" : "LEADER" - }, - "myDB_2" : { - "localhost_12913" : "LEADER", - "localhost_12917" : "STANDBY", - "localhost_12918" : "STANDBY" - }, - "myDB_3" : { - "localhost_12915" : "LEADER", - "localhost_12917" : "STANDBY", - "localhost_12918" : "STANDBY" - }, - "myDB_4" : { - "localhost_12916" : "LEADER", - "localhost_12917" : "STANDBY", - "localhost_12918" : "STANDBY" - }, - "myDB_5" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "LEADER", - "localhost_12915" : "STANDBY" + "id" : "myDB", + "mapFields" : { + "myDB_0" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "STANDBY", + "localhost_12917" : "LEADER" + }, + "myDB_1" : { + "localhost_12916" : "STANDBY", + "localhost_12917" : "STANDBY", + "localhost_12918" : "LEADER" + }, + "myDB_2" : { + "localhost_12913" : "LEADER", + "localhost_12917" : "STANDBY", + "localhost_12918" : "STANDBY" + }, + "myDB_3" : { + "localhost_12915" : "LEADER", + "localhost_12917" : "STANDBY", + "localhost_12918" : "STANDBY" + }, + "myDB_4" : { + "localhost_12916" : "LEADER", + "localhost_12917" : "STANDBY", + "localhost_12918" : "STANDBY" + }, + "myDB_5" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "LEADER", + "localhost_12915" : "STANDBY" } }, - "listFields" : { - "myDB_0" : [ "localhost_12917", "localhost_12913", "localhost_12914" ], - "myDB_1" : [ "localhost_12918", "localhost_12917", "localhost_12916" ], - "myDB_2" : [ "localhost_12913", "localhost_12918", "localhost_12917" ], - "myDB_3" : [ "localhost_12915", "localhost_12918", "localhost_12917" ], - "myDB_4" : [ "localhost_12916", "localhost_12917", "localhost_12918" ], - "myDB_5" : [ "localhost_12914", "localhost_12915", "localhost_12913" ] - }, - "simpleFields" : { - "IDEAL_STATE_MODE" : "AUTO", - "REBALANCE_MODE" : "SEMI_AUTO", - "NUM_PARTITIONS" : "6", - "REPLICAS" : "3", - "STATE_MODEL_DEF_REF" : "LeaderStandby", - "STATE_MODEL_FACTORY_NAME" : "DEFAULT" + "listFields" : { + "myDB_0" : [ "localhost_12917", "localhost_12913", "localhost_12914" ], + "myDB_1" : [ "localhost_12918", "localhost_12917", "localhost_12916" ], + "myDB_2" : [ "localhost_12913", "localhost_12918", "localhost_12917" ], + "myDB_3" : [ "localhost_12915", "localhost_12918", "localhost_12917" ], + "myDB_4" : [ "localhost_12916", "localhost_12917", "localhost_12918" ], + "myDB_5" : [ "localhost_12914", "localhost_12915", "localhost_12913" ] + }, + "simpleFields" : { + "IDEAL_STATE_MODE" : "AUTO", + "REBALANCE_MODE" : "SEMI_AUTO", + "NUM_PARTITIONS" : "6", + "REPLICAS" : "3", + "STATE_MODEL_DEF_REF" : "LeaderStandby", + "STATE_MODEL_FACTORY_NAME" : "DEFAULT" } } ExternalView for myDB: { - "id" : "myDB", - "mapFields" : { - "myDB_0" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "STANDBY", - "localhost_12917" : "LEADER" - }, - "myDB_1" : { - "localhost_12916" : "STANDBY", - "localhost_12917" : "LEADER" - }, - "myDB_2" : { - "localhost_12913" : "LEADER", - "localhost_12917" : "STANDBY" - }, - "myDB_3" : { - "localhost_12915" : "LEADER", - "localhost_12917" : "STANDBY" - }, - "myDB_4" : { - "localhost_12916" : "LEADER", - "localhost_12917" : "STANDBY" - }, - "myDB_5" : { - "localhost_12913" : "STANDBY", - "localhost_12914" : "LEADER", - "localhost_12915" : "STANDBY" + "id" : "myDB", + "mapFields" : { + "myDB_0" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "STANDBY", + "localhost_12917" : "LEADER" + }, + "myDB_1" : { + "localhost_12916" : "STANDBY", + "localhost_12917" : "LEADER" + }, + "myDB_2" : { + "localhost_12913" : "LEADER", + "localhost_12917" : "STANDBY" + }, + "myDB_3" : { + "localhost_12915" : "LEADER", + "localhost_12917" : "STANDBY" + }, + "myDB_4" : { + "localhost_12916" : "LEADER", + "localhost_12917" : "STANDBY" + }, + "myDB_5" : { + "localhost_12913" : "STANDBY", + "localhost_12914" : "LEADER", + "localhost_12915" : "STANDBY" } }, - "listFields" : { + "listFields" : { }, - "simpleFields" : { - "BUCKET_SIZE" : "0" + "simpleFields" : { + "BUCKET_SIZE" : "0" } } </code></pre> @@ -834,7 +847,7 @@ ExternalView for myDB: <div class="span12"> <p class="pull-right"><a href="#">Back to top</a></p> <p class="copyright">Copyright ©2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p> - <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="https://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p> + <p><a href="https://github.com/olamy/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> maintained by <a href="https://twitter.com/olamy" target="_blank" title="Olivier Lamy">Olivier Lamy</a>.</p> <div class="row span16"><div>Apache Helix, Apache, the Apache feather logo, and the Apache Helix project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> <a href="https://helix.apache.org/1.0.2-docs/privacy-policy.html">Privacy Policy</a>
