Elisha Gould

Forum Replies Created

Viewing 15 replies – 1 through 15 (of 123 total)
  • Author
    Replies
  • in reply to: inter-process routing socket connection #117851
    Elisha Gould
    Participant

      Hi,

      It’s under linux.

      Found out the reason was Cloverleaf 6.1 is using the hostname to make the socket connection for routing between processes.

      When we had the updates done, the server IP address was changed, but the hosts file hadn’t been updated with the new IP address, so was trying to talk to the old IP.

      I still don’t understand the logic of using the hostname over localhost for these connections.

      in reply to: Linux uudedode "No `begin’ line" #86095
      Elisha Gould
      Participant

        From what I can see, its probably related to how Cloverleaf processes inbound/outbound data.

        Have a look at the “identity” encoding: https://usspvlclovertch2.infor.com/viewtopic.php?t=6138

        When a inbound message comes in and the inbound format is binary, Cloverleaf still uses encoding to convert the data.

        The result is that any processing for binary data will be wrong.

        It has to be converted to “identity” and then mapped back after processing.

        When there is no manipulation of the binary data, cloverleaf will send it through ok, as it’ll map it back if both inbound/outbound are both binary.

        in reply to: hcisitecleanup not always removing monitorShmem file #85887
        Elisha Gould
        Participant

          Are the commands being run under the same user (ie hci)?

          If they are executed by another user, it may create the file under the wrong user, and cannot be deleted due to permissions on the file.

          It’s best to ensure the exec folders are read only for other users to prevent accidentally creating files under the wrong user.

          in reply to: How to take a vacation #85820
          Elisha Gould
          Participant

            Yeah I figured as much, I’m just being daft, so take no offence.

            still probably good to discuss it with management, even if its “cross skill” with another application person, so that if one of you are missing, there’s still someone able to do the basics.

            in reply to: How to take a vacation #85817
            Elisha Gould
            Participant

              Is there anyone that can be trained up enough to be dangerous?

              We’ve had times when there’s only one, but management have been willing to find another person who can take on support while the primary is away.

              Might be possible to contract an extra support person, but I’m sure there’s little niggles that need to be handled in a specific way which is difficult to document.

              It’s not really realistic to be on support while on holidays, so I’d be putting the case to management that it’s in their best interest to find someone else to hold the fort, otherwise it’s their risk that they may be out of action for a couple of days while they try to find a contractor to work on it. This holds for if your sick or get hit by a car too, not just holidays.

              THINK OF THE CHILDREN 😯 !!!

              Them saying “we don’t have budget” is BS, they’ll have a lot higher cost if things go wrong with no-one trained up.

              maybe tone it up or down depending on your relationship with management and how much you can get away with.

              in reply to: SMAT w/CL 6.2 #85518
              Elisha Gould
              Participant

                It defaults to a encrypted sqlite file.

                To change back to a .msg/.idx smat file update siteInfo in the site with:

                smatencrypted=0

                smatdriver=file

                Unfortunately you cannot just update the siteInfo file in $HCIROOT/siteProto

                for some reason the hcisiteinit ignores these parameters.

                There’s also the below if you don’t wan’t every log line to be prefixed with a tag:

                TclLogAlignmentDisabled=1

                Elisha Gould
                Participant

                  It is possible to set up multiple HCIROOT folders on the same server.

                  you’ll need to use setroot to switch between them, and have to be careful about accidental using the wrong instance.

                  Probably need to allocate port ranges for the different environments.

                  It may be possible to create multiple virtual NICs and bind the server tcp connections to the respective ip addresses.

                  I wouldn’t really recommend the above except for a stop gap measure, and I don’t know if there’s any license issues with it. It’s always better to have the environments on different servers to prevent accidental changes, or accidental sending data to the wrong environment.

                  in reply to: Unprintable character issue #85392
                  Elisha Gould
                  Participant

                    Do a search for “encoding” or “encoding convertto identity”.

                    If you set the inbound and outbound encoding to binary or passthrough, it should send the message correctly, but it will still display it incorrectly in the logs.

                    in reply to: FTP a PDF and only see blank pages #85391
                    Elisha Gould
                    Participant

                      If you are trying to send it using tcl, you may need to convert the encoding.

                      Code:

                      set myData [encoding convertto identity $aData]


                      I can’t remember what you need to set the thread encoding to. I think it may be passthrough or binary.

                      For background cloverleaf does encoding from the default tcl encoding (utf-8) to the encoding specified in thread, then utilised as utf-8 throughout the translations. It will convert back to the correct encoding at the end, but it messes up when trying to do any translations.

                      The end result is that you’ll need to convert to identity to get binary data that is useful for translation.

                      My thought is that it should have been set up to go from the encoding specified to utf-8, then to whatever encoding is specified in the outbound.

                      in reply to: Performance of using Branch vs a group of route details. #85376
                      Elisha Gould
                      Participant

                        We’ve had issues where everything slows down considerably when the SAN is having issues.

                        In our case we need the io latency to be below 10ms. If it bumps up past this threshold, we start seeing slowdowns in throughput.

                        If you keep logs of the server activity, it’ll show higher than normal io wait if this occurs.

                        in reply to: Removing a failed message from front of queue #84776
                        Elisha Gould
                        Participant

                          The main issue with putting the message in a file/error database, is that all future messages for that patient would need to be quarantined, otherwise replaying the errored message may put the details in the wrong state.

                          Stopping the process may work for the CAAWS cases if needed. Was just checking if there was a way of pulling a message out without having to stop it, or writing extra code in the resend handler.

                          in reply to: Removing a failed message from front of queue #84774
                          Elisha Gould
                          Participant

                            The issue with removing after a number of retries, is that there are cases where we would be dumping lots of messages, then have to replay all the messages from a point in time once the application was fixed, since they all need to be played back in order (not just the failed messages).

                            This is more of an issue for SOAP messages on the CAAWS, since the fault messages are returned whenever there are application/database issues.

                            So basically the effort to dump a message if it is causing problems is less than the effort of replaying all the messages from the time the downstream application failed.

                            in reply to: fileset-ftp – repeats processing if file cannot be deleted #84533
                            Elisha Gould
                            Participant

                              we normally rename the file before reading it using a tclproc.

                              If the rename fails, then it can be retried on the next scheduled time.

                              in reply to: Extreme Slowness with CL 6.1.2 Windows #84382
                              Elisha Gould
                              Participant

                                Ahh yes, your right Charlie.

                                I forgot the reason that we use KILL is to ensure that we don’t flood the down stream system will messages, and cause more issues with filled up logs.

                                If KILLREPLY/PROTO is used in sms_ib_reply, it will resend immediately, with no timeout before resending.

                                If KILL is used, it will go to the Timeout Handling, so we have a proc in the Reply Generation to handle the resending.

                                in reply to: Extreme Slowness with CL 6.1.2 Windows #84380
                                Elisha Gould
                                Participant

                                  Where are you using cl_check_ack? It can only be used in the TPS Inbound Reply.

                                  Also not 100% convinced about the code for that proc. Should the OBMSGID message be killed? I’m thinking the handling for this case changed in 5.8 (could be wrong).

                                  To accept the reply and process the next message:

                                  return “{KILLREPLY $mh}”

                                  To resend the message:

                                  return “{KILL $mh}”

                                Viewing 15 replies – 1 through 15 (of 123 total)