go to post Vic Sun · Jun 8, 2021 Hello Mike, I don't have a sample for scripting it, but if you haven't seen it already, the IRIS server migration guide contains a list of items and methods for exporting them. I think it's a good reference for keeping in mind the things you might want to bring over. https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AMIG Also, I might agree with Armin that doing a multi-stage upgrade could be easier - perhaps you've already identified a reason why it won't work for you though.
go to post Vic Sun · Jun 8, 2021 Hello Dustin, You could try SFTP debugging in terminal (I also linked this in your other post): https://community.intersystems.com/post/using-and-debugging-netsshsession-ssh-connections I kind of suspect this may be a permissions issue on the target system; since you're placing the file, it shouldn't need to exist before it gets "Put". It is a bit weird that the file extension is written twice but I don't think that is a problem; can you see anywhere in your configuration (file path / name) that may be triggering that?
go to post Vic Sun · Jun 8, 2021 Hello Dustin, There are a few things you can try to find out more about this. 1. Making an SFTP connection in terminal so you add additional debugging - https://community.intersystems.com/post/using-and-debugging-netsshsession-ssh-connections 2. Trying a different SFTP client - this will help identify if there's a problem connecting between the servers (network / firewall change, for example). If no SFTP client works, then you likely want to involve your network team / the downstream's network team (or potentially security team, different orgs might label the relevant party differently). 3. If the SFTP connection was working earlier, but nothing was changed in Ensemble, then it seems pretty apparent that something changed outside of Ensemble. You could see when the problem started and ask around internally / externally to see what might have changed.
go to post Vic Sun · Jun 7, 2021 Hello Nikhil, What problem are you trying to solve or what exactly are you trying to do? See the below docs: "The maximum length of a subscript is 511 encoded bytes (the corresponding number of characters depends on the characters in the subscript and the current locale)" https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCOS_variables#GCOS_variables_subscripts Maximum Length of a Global Reference You can use $length to get the length of a string, but depending on what you want to do, that may determine how you can get the value of the subscript. https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_d_length
go to post Vic Sun · Jun 2, 2021 Jen, Perhaps more details would be helpful, and you may want to reach out to the WRC or your InterSystems rep to discuss. My thought is that this might be a matter of setting up the server-side to require TLS (as covered by the documentation linked in the article)."System-wide Security Parameters page (System Administration > Security > System Security > System-wide Security Parameters) > Superserver SSL/TLS Support"
go to post Vic Sun · Jun 2, 2021 Hello Jennifer, if you make (and place) the SSLDefs.ini file then it will be used for client connections that match the specified host/port. I'm not sure I understand your second question, however; is there a reason you would not be able to create the config file? I don't know of an alternative.
go to post Vic Sun · May 27, 2021 Maybe this is a silly suggestion, but if you have a test environment you could try removing sections of code until you find the one that, when removed, causes that line to disappear. I'm sure there's a cleaner way to do this, but if you don't see it in the code, that's what comes to mind.
go to post Vic Sun · May 27, 2021 I was asking if it was a BPL or a router, mainly. Looks like a BPL. I think it would definitely take some looking at the code to figure out where the connection's coming from. I think if you looked at the class in Studio you could probably try to find in files to see where the reference is, might be easier than looking through the BPL in the portal.
go to post Vic Sun · May 27, 2021 Hello Dustin, What kind of business process is it? Can you attach some screenshots of what it is doing?
go to post Vic Sun · May 27, 2021 Hello Wenjie, ^oddPROC is an internal global with metadata for your BAIYAOJIREQUEST class (I think in your custom Ensemble.Ens package, not sure exactly how the characters translate). I think for this issue you may want to reach out to InterSystems support so they can look into what may have happened to "corrupt" that global and look into solutions. Do you have any ideas of whether something unusual might have happened to that class?
go to post Vic Sun · May 27, 2021 Hello Kathy, This would be an installer/OS level issue so not something that SQL could help with. Do you still have the install kit and can you try to use that to uninstall? If you check the Windows event log do you see any errors from your first (or subsequent) uninstall attempts? Can you check if there are any pending installation/uninstalls? Perhaps you could try restarting the server and then trying to uninstall? Out of curiosity, have there been other instances installed/uninstalled on the same server?
go to post Vic Sun · May 26, 2021 Hello Matthew, Out of curiosity, what are some examples of things that you don't want shared within one instance? I'm not sure about the per-instance overhead, I don't know how common of a scenario that is, so you may want to test it out. With multiple instances, you would have multiple write/journal daemons. I wonder if your current setup benefits from the shared buffer pool, or if your separate namespaces are handling totally different sets of data. Re: the memory split, I think that depends on how much activity you're running through each instance. If you think they'll all need the same amount of memory, an even split might be fine. Is there any consideration to splitting out to separate servers? It sounds like isolation/granularity are some of the things you are looking for, and separate servers would help with that.
go to post Vic Sun · May 26, 2021 Is this what you mean by Rose? It's not a technology I'm familiar with, but from this page and your description it sounds like an HA cluster with shared storage: https://www.rosedata.com/index_en.php/Prodetail/index/proid/1 Do you have any specific questions about this setup? Can you provide more detail on what kind of disaster events you are looking to handle? What is your desired behavior? Basically, I would suggest thinking about different disaster scenarios and how this environment would react. Failover Strategies for High Availability Here are the docs regarding different HA strategies including HA clustering and mirroring. The main point they highlight for a HA cluster with shared storage is that the disk then becomes a single point of failure. Adding a mirror instance on separate hardware provides an option if your RoseHA disk fails.
go to post Vic Sun · May 25, 2021 @wenjie zhao If I'm interpreting your question (and its translation) correctly, it sounds like you will have multiple mirror members on the same disk array. Is this a mirror member in the same mirror or different? If the same, I think part of the value of a mirror is that you can failover if a problem happens to a piece of hardware, for example. If both mirrors are running on one disk array, if that disk array has a problem, you can't really failover. If a separate mirror, then you could have two separate mirrors failing over if your 1 disk array has a problem - if that's acceptable to you, I don't necessarily see a problem. Realistically, it's hard to provide advice without knowing exactly the architecture you are considering and the types of problems you want to be prepared for. I'd refer back to my initial reply, which is that I'd think about mirroring as I would any other HA architecture and think about what will happen if single items fail - generally, I think you would want your HA to be able to work around a single piece failing.
go to post Vic Sun · May 24, 2021 Hello Wenjie, Google translate wasn't able to help me understand the infrastructure you are suggesting. Perhaps a diagram would be helpful. Mirroring can be used as part of a highly available architecture, but if you have concerns I would look at what your single points of failure are.
go to post Vic Sun · May 18, 2021 Great analogy Nigel, thanks for sharing a fun modern-day Aesop's fable!
go to post Vic Sun · May 18, 2021 Great! This was an interesting topic and I'm sure one that will help future viewers of the community.
go to post Vic Sun · May 18, 2021 Hey Matthew, No technical suggestions from me, but I would say that there are pros/cons to file / global streams which have been covered quite well by the other commenters. For the performance concern in particular, it is difficult to compare different environments and use patterns. It might be helpful to test using file / global streams and see how the performance for your expected stream usage, combined with your system activity, plays into your decision to go with one or the other.
go to post Vic Sun · May 17, 2021 Hello Nikhil, There are a variety of learning resources for Caché / IRIS / ObjectScript. From InterSystems documentation: ObjectScript Tutorial Also linked in the top bar of the developer community, the InterSystems learning portal has many videos/courses: Learning.intersystems.com