{"id":4389,"date":"2024-03-28T20:57:49","date_gmt":"2024-03-28T20:57:49","guid":{"rendered":"https:\/\/quebit.com\/askquebit\/?p=4389"},"modified":"2024-03-28T20:57:49","modified_gmt":"2024-03-28T20:57:49","slug":"ibm-planning-analytics-process-synchronization","status":"publish","type":"post","link":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/","title":{"rendered":"IBM Planning Analytics Process Synchronization"},"content":{"rendered":"<p><strong>IBM Planning Analytics Process Synchronization<\/strong><\/p>\n<p>Synchronization in Planning Analytics counter-intuitively does not ensure that TI processes run at the same time, in synchronization. Instead, it ensures that only one process with a given synchronized flag is allowed to run at a time. The main use cases for \u201csynchronizing\u201d processes in Planning Analytics by using the Synchronized function include ensuring that processes run in a defined serialized order, or to prevent certain processes from running concurrently.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4391\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture13.png\" alt=\"\" width=\"416\" height=\"238\" srcset=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture13.png 416w, https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture13-300x172.png 300w\" sizes=\"auto, (max-width: 416px) 100vw, 416px\" \/><\/p>\n<p>Simply put, the Synchronized function allows the definition of custom flags, or semaphores, within processes. No more than one process with a given flag will be able to run at once. Any subsequent processes that have the same flag in a Synchronized function will wait to run until the first has been committed. To further explain how the Synchronized function works at a basic level, assume the following three processes exist:<\/p>\n<ul>\n<li>Process to clear data in a cube<\/li>\n<li>Process to increment data in a cube<\/li>\n<li>Master process to run both the above, in order, using RunProcess<\/li>\n<\/ul>\n<p>Without the Synchronized function being used, the following would occur:<\/p>\n<ul>\n<li>The Master Process will start, run the clear data process, run the data increment process, then complete<\/li>\n<li>The clear data process and the data increment process will likely be running at the same time.<\/li>\n<li>Depending on which process commits last, one of the following will happen:\n<ul>\n<li>If the clear data process commits last, the cube will have no values, because it cleared the data after the data increment process committed its changes<\/li>\n<li>If the data increment process commits last, the cube will have values, but likely be higher than expected because it did not wait for the zero out to complete before starting to increment<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4392\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture14.png\" alt=\"\" width=\"342\" height=\"171\" srcset=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture14.png 342w, https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture14-300x150.png 300w\" sizes=\"auto, (max-width: 342px) 100vw, 342px\" \/><\/p>\n<p>Neither outcome of the above is the intended outcome of running the above sets of processes. By adding the Synchronized function, it can be ensured that the processes run and complete in the correct order. In the beginning of the Prolog of both the data clear and data increment processes, a Synchronized flag is added. The Synchronized function only has one parameter; a string that is the desired flag.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4393\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-28-162746.png\" alt=\"\" width=\"635\" height=\"42\" srcset=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-28-162746.png 635w, https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Screenshot-2024-03-28-162746-300x20.png 300w\" sizes=\"auto, (max-width: 635px) 100vw, 635px\" \/><\/p>\n<p>With these in place, the following will happen instead:<\/p>\n<ul>\n<li>The Master Process will start, run the clear data process, run the data increment process, then complete<\/li>\n<li>The data clear process will claim the defined Synchronized flag at the start of the process, and run until completion<\/li>\n<li>The data increment process will start and attempt to claim the Synchronized flag, but it is already being claimed by the data clear process, so it will enter a Wait state<\/li>\n<li>Once the data clear process finishes committing, it will release the Synchronized flag, and the data increment process will be able to run, claiming the flag for itself<\/li>\n<li>Once the data increment process finishes committing, the cube will contain the correct values<\/li>\n<\/ul>\n<p>The above situation could have also been resolved by simply changing the RunProcess functions to ExecuteProcess functions to ensure processes are run in serial. Although, even with ExecuteProcess, if there are other processes that shouldn\u2019t be running at the same time as the above, the Synchronization function would be helpful to prevent that.<\/p>\n<p>Be wary to use distinct Synchronization flags with a defined purpose to avoid unintended interactions between processes. If the same flag is used for different purposes, it may lead to additional locks\/waits between processes. For a more advanced use case of the Synchronized function see: https:\/\/quebit.com\/askquebit\/advanced-synchronized-queueing-process-groups\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>IBM Planning Analytics Process Synchronization Synchronization in Planning Analytics counter-intuitively does not ensure that TI processes run at the same time, in synchronization. Instead, it ensures that only one process with a given synchronized flag is allowed to run at a time. The main use cases for \u201csynchronizing\u201d processes in Planning Analytics by using the&hellip;<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[24],"tags":[36,55],"class_list":["post-4389","post","type-post","status-publish","format-standard","hentry","category-ibm","tag-planning-analytics","tag-planning-analytics-tech-tips"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>IBM Planning Analytics Process Synchronization - QueBIT<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"IBM Planning Analytics Process Synchronization - QueBIT\" \/>\n<meta property=\"og:description\" content=\"IBM Planning Analytics Process Synchronization Synchronization in Planning Analytics counter-intuitively does not ensure that TI processes run at the same time, in synchronization. Instead, it ensures that only one process with a given synchronized flag is allowed to run at a time. The main use cases for \u201csynchronizing\u201d processes in Planning Analytics by using the&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/\" \/>\n<meta property=\"og:site_name\" content=\"QueBIT\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-28T20:57:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture13.png\" \/>\n<meta name=\"author\" content=\"Jennifer Field\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jennifer Field\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-process-synchronization\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-process-synchronization\\\/\"},\"author\":{\"name\":\"Jennifer Field\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#\\\/schema\\\/person\\\/082a9c4156466b9cdad2632e3de62601\"},\"headline\":\"IBM Planning Analytics Process Synchronization\",\"datePublished\":\"2024-03-28T20:57:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-process-synchronization\\\/\"},\"wordCount\":584,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-process-synchronization\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Picture13.png\",\"keywords\":[\"Planning Analytics\",\"Planning Analytics Tech Tips\"],\"articleSection\":[\"IBM\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-process-synchronization\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-process-synchronization\\\/\",\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-process-synchronization\\\/\",\"name\":\"IBM Planning Analytics Process Synchronization - QueBIT\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-process-synchronization\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-process-synchronization\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Picture13.png\",\"datePublished\":\"2024-03-28T20:57:49+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#\\\/schema\\\/person\\\/082a9c4156466b9cdad2632e3de62601\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-process-synchronization\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-process-synchronization\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-process-synchronization\\\/#primaryimage\",\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Picture13.png\",\"contentUrl\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Picture13.png\",\"width\":416,\"height\":238},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-process-synchronization\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"IBM Planning Analytics Process Synchronization\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#website\",\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/\",\"name\":\"QueBIT\",\"description\":\"QueBIT\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#\\\/schema\\\/person\\\/082a9c4156466b9cdad2632e3de62601\",\"name\":\"Jennifer Field\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/02bd32c7255ad906cd2c6352f643559cfee048a9b227b5b07b6a6f48d5b4a658?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/02bd32c7255ad906cd2c6352f643559cfee048a9b227b5b07b6a6f48d5b4a658?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/02bd32c7255ad906cd2c6352f643559cfee048a9b227b5b07b6a6f48d5b4a658?s=96&d=mm&r=g\",\"caption\":\"Jennifer Field\"},\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/author\\\/quebit\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"IBM Planning Analytics Process Synchronization - QueBIT","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/","og_locale":"en_US","og_type":"article","og_title":"IBM Planning Analytics Process Synchronization - QueBIT","og_description":"IBM Planning Analytics Process Synchronization Synchronization in Planning Analytics counter-intuitively does not ensure that TI processes run at the same time, in synchronization. Instead, it ensures that only one process with a given synchronized flag is allowed to run at a time. The main use cases for \u201csynchronizing\u201d processes in Planning Analytics by using the&hellip;","og_url":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/","og_site_name":"QueBIT","article_published_time":"2024-03-28T20:57:49+00:00","og_image":[{"url":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture13.png","type":"","width":"","height":""}],"author":"Jennifer Field","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jennifer Field","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/#article","isPartOf":{"@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/"},"author":{"name":"Jennifer Field","@id":"https:\/\/quebit.com\/askquebit\/#\/schema\/person\/082a9c4156466b9cdad2632e3de62601"},"headline":"IBM Planning Analytics Process Synchronization","datePublished":"2024-03-28T20:57:49+00:00","mainEntityOfPage":{"@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/"},"wordCount":584,"commentCount":0,"image":{"@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/#primaryimage"},"thumbnailUrl":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture13.png","keywords":["Planning Analytics","Planning Analytics Tech Tips"],"articleSection":["IBM"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/","url":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/","name":"IBM Planning Analytics Process Synchronization - QueBIT","isPartOf":{"@id":"https:\/\/quebit.com\/askquebit\/#website"},"primaryImageOfPage":{"@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/#primaryimage"},"image":{"@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/#primaryimage"},"thumbnailUrl":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture13.png","datePublished":"2024-03-28T20:57:49+00:00","author":{"@id":"https:\/\/quebit.com\/askquebit\/#\/schema\/person\/082a9c4156466b9cdad2632e3de62601"},"breadcrumb":{"@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/#primaryimage","url":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture13.png","contentUrl":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2024\/03\/Picture13.png","width":416,"height":238},{"@type":"BreadcrumbList","@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-process-synchronization\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/quebit.com\/askquebit\/"},{"@type":"ListItem","position":2,"name":"IBM Planning Analytics Process Synchronization"}]},{"@type":"WebSite","@id":"https:\/\/quebit.com\/askquebit\/#website","url":"https:\/\/quebit.com\/askquebit\/","name":"QueBIT","description":"QueBIT","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/quebit.com\/askquebit\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/quebit.com\/askquebit\/#\/schema\/person\/082a9c4156466b9cdad2632e3de62601","name":"Jennifer Field","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/02bd32c7255ad906cd2c6352f643559cfee048a9b227b5b07b6a6f48d5b4a658?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/02bd32c7255ad906cd2c6352f643559cfee048a9b227b5b07b6a6f48d5b4a658?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/02bd32c7255ad906cd2c6352f643559cfee048a9b227b5b07b6a6f48d5b4a658?s=96&d=mm&r=g","caption":"Jennifer Field"},"url":"https:\/\/quebit.com\/askquebit\/author\/quebit\/"}]}},"_links":{"self":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/posts\/4389","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/comments?post=4389"}],"version-history":[{"count":4,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/posts\/4389\/revisions"}],"predecessor-version":[{"id":4414,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/posts\/4389\/revisions\/4414"}],"wp:attachment":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/media?parent=4389"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/categories?post=4389"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/tags?post=4389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}