ISISComputingGroup / IBEX

Top level repository for IBEX stories
5 stars 2 forks source link

BLOCKSERVER: Issue with blocks #4090

Closed John-Holt-Tessella closed 5 years ago

John-Holt-Tessella commented 5 years ago

Find the issue with the blocks and document.

Acceptance Criteria:

  1. Cause is understood and documented
  2. There is a ticket which fixes the issue
  3. There is a ticket that will hotfix the issue
John-Holt-Tessella commented 5 years ago

Steps to Reproduce issue:

  1. Edit the current config (a minor change to the description is enough)
  2. Load a new config
  3. Load the old config
  4. Look in archive config file (C:\Instrument\Apps\EPICS\CSS\master\ArchiveEngine\block_config.xml) blocks are not present and they are not in the archiver (http://localhost:4813/group?name=BLOCKS)

Why this happens:

The archive engine is only restarted on changed blocks (BlockServer.core.active_config_holder.ActiveConfigHolder line 73):

if self.blocks_changed():

This is based on differences between the cached version of the config and the current config. The cached version of the config is only set on edit current config (BlockServer.core.active_config_holder.ActiveConfigHolder line 305):

self._active_configserver.set_config_details(details)

called from (server_common.pv_names.BlockserverPVNames line 261)

elif reason == BlockserverPVNames.SET_CURR_CONFIG_DETAILS:
    self.write_queue.put((self._set_curr_config, (convert_from_json(data),), "SETTING_CONFIG"))

So if the config has changed it is cached and then on reload it is not different and the blocks archiver is not updated.

The second issue is that the logic for the blocks pv is different from the archiver rewrite pv. This should be changed.

John-Holt-Tessella commented 5 years ago

Release:

  1. in \isis\inst$\Kits$\CompGroup\ICP\Releases\inst_servers_hotfix_4090 on machine run install.bat
  2. This will copy files and open a terminal
  3. console to block server
  4. restart

For older installs:

  1. console and stop BLOCKS, BLOCKCACHE, DBSVR
  2. move old version of inst_servers and copy new version over from share
  3. toggle autostart back on for BLOCKS, BLOCKCACHE, DBSVR