Mathew Lambert · Mar 23, 2018 go to post

How would this meet with mirroring?

I know that mirroring wont sync HS configuration (such as mappings) and this will have to be done manually with some process running in both sides to keep the configuration consistent.

The problem that I foresee is being able to do the mapping synchronization at the exact same instant (in index meaning) so that no inserts are lost between the database "PERSONADATA2" creation in the primary and the creation in the secondary.

Mathew Lambert · May 23, 2018 go to post

Already tryed, it stays bloqued some seconds, and then nothing.
I can read on the status tab:

Computation of proposals takes too long. Please try again.

Mathew Lambert · May 23, 2018 go to post

Well in my case I even tried with some indications from the documentation about running 

set rtn= ##class(%Atelier.v1.Utils.MetaData).Build("DB")

but it didn't solve anything (in fact I don't know how to check if it's taking into account this data generated)

It always gives me the too long error

Mathew Lambert · May 24, 2018 go to post

I can understand that prior to cache it will take longer, but how can I force a cache heat up. Because It's been one week and I'm still getting the error.

Mathew Lambert · May 4, 2018 go to post

I know that the mirrored DB's are in read-only.

With the SqlProc sollution, how do I execute the call from the primary to the secondary? Using ODBC?

Thank you

Mathew Lambert · Feb 18, 2020 go to post

Where are the metric values stored?

What kind of metrics can be added via SetSensor? Only counters or also gauges and histograms?

Mathew Lambert · Feb 20, 2020 go to post

We (#Roche) will also be very interested in having JReport integrated with IRIS in order to generate pdf files given specific data (i.e.: a screen table, a patient test)

Mathew Lambert · Mar 30, 2020 go to post

Are there any news regarding establishing a websocket connection from COS as a client?

Mathew Lambert · Mar 30, 2020 go to post

Are there any news regarding establishing a websocket connection from COS as a client?

Mathew Lambert · Apr 29, 2020 go to post

As stated by user Mario Sanchez on the spanish community:

The query freezing are based on cached queries, so we can assure that if there are no cached queries there will no be frozen queries. 

Saying that, the best way to be sure to not have frozen queries:

  1. Unfreeze
  2. Purge

It can be that overwriting the LOGIC some queries are automatically purged, and the later would not be needed, but knowing that both steps are fast and clear we can take it as assured.

Mathew Lambert · Apr 29, 2020 go to post

Also when we are testing our scenarios we do phisically sometimes execute the network isolation amongst other tests

Mathew Lambert · Apr 29, 2020 go to post

I did some test back ago about backing up mirror scenarios (and restoring them), with an arbiter and hot backups.

There is indeed an important thing to keep in mind to avoid an final awkward situation, both nodes (A and B) end up in secondary mode and therefore readonly: this happens if you have both nodes up and synced, you turn off your primary (A) node (to backup or for maintenaince) then your secondary (B) becames primary, for whatever reason you remove the mirror configuration (in B as primary) and then A goes online again.

We found this situation in a scenario where B was kept as primary for some time, decided to remove mirror configuration, and then A was brought online,  for some reason both become secondary and readonly and the only solution was to restore a backup in the "most" functional node that was B.

Mathew Lambert · Apr 29, 2020 go to post

That is right, but as long as the cookie session timeout is valid (let's say 60 seconds) anybody that intercepts that cookie is effectively authenticated as long as the timeout is valid.

Some ideal situation as mentioned by Joan would be to have a cookie that is used since the user accesses the first page until it want's to log in, and then, when the login request is received, invalidate that cookie and sessionID, create a new session identifier and return it.

Isn't there any way of invalidating a sessionID manually and creating a new one?

Mathew Lambert · Apr 29, 2020 go to post

do %session.Logout()

Ends the session. Next request starts the new session.

I know that this ends the session, but an approach could be with one client request end it, and return a new one. With this solution you need to wait until the next request to create the new one so you no longer know if the client is authenticated.

The other option as mentioned is to encript trafic and therefore the cookie can no longer be used.

Mathew Lambert · Jun 15, 2020 go to post

In our case we have wrapped the cspsessionid in a jwt token, and in our other frontends (we use Zen + React) we validate that the jwt token is valid and we request then to backend to see if it's still valid. Then all the calls are made using this token and via delegated authentication we do the login

Mathew Lambert · Jun 15, 2020 go to post

We use the license via a customized page that imports the file, the validation is done by zipping the license file and an expected checksum.

The user workflow is that we link the type of request with the type of license to use in our delegated authentication, consuming depending on the entry endpoint.

Mathew Lambert · Jun 15, 2020 go to post

There is no pretty way to do it via management portal.

Either use a JDBC tool like squirrel or sql workbench, or use an sql file with do $System.SQL.DDLImport

Mathew Lambert · Jun 16, 2020 go to post

I know how to obtain the status from the call, but I want to have a method that I can implement in an abstract class, that I inherit in all my persistent classes, and with very few lines of code I can track all CRUD operations.

Mathew Lambert · Jun 16, 2020 go to post

I'm trying to avoid wrapping %persistent methods because

  • this could lead to problems between releses
  • those methods are final (so I would need to wrap them in a different named method

Regarding your points, we don't generate classes via DDL and to force inheritance I would just implement a test and add it to our Persistent classes Best Practices.

Thank you

Mathew Lambert · Jul 7, 2020 go to post

So, to sum up, the best strategy would be to define properties on each of the tables and then also FKs to ensure referential integrity

Mathew Lambert · Jul 7, 2020 go to post

As it seems that there is not the possibility to do this as of now, we will be talking with InterSystems.

Mathew Lambert · Oct 19, 2020 go to post

Well this kind of old post revives again... I have two mirror members that say "This member is not connected to the arbiter".

The three machines are in the same subnet, all IPs configured, pings responding...

Mathew Lambert · Dec 10, 2020 go to post

Having a configuration tool in the management portal to help with all the settings.