MQ service process pointing to uninstalled instances - ibm-mq

We recently migrated our v8 mq to v9.1 on same server, after migrating we uninstalled the v8 packages. We realized after uninstalling that there are still '/opt/mqm/samp/bin/amqsclm' processes running that point to the uninstalled version directory (v9.1 was installed in a separate dir). I did update the services pertaining to those process to v9.1 installation directory but not sure how to restart those process without restarting the queue manager because the planned downtime window is a couple of weeks away.
I do not have much experience with mq service.
If I let those zombie processes keep running for a couple of weeks how will it impact my MQ service?
If I just kill those processes and start them immediately will it disturb any queue/qm activity?

The amqsclm program is not part of the queue manager. So it is safe to stop/restart it, that will not stop your queue manager.
It is a sample program for monitoring cluster queues and changing cluster workload balancing depending on whether the queue is opened or not:
Documentation of amqsclm

Related

RabbitMQ Installation - Avoid service restart after enabling plugins

I have a c# code that installs rabbitmq on windows machines.
After running rabbitmq-service install and rabbitmq-service start I am running rabbitmq-plugins enable rabbitmq_management.
At the end I get:
set 3 plugins.
Offline change; changes will take effect at broker restart.
I would like to know if I can avoid this restart. It's taking a lot of time and slowing the installation process. I'm pretty sure that at least one time during my tests I wasn't required to do that but I can't reproduce...
You might be running into the issue we are addressing in this pull request:
https://github.com/rabbitmq/rabbitmq-server-release/pull/82
You don't say which version of RabbitMQ or Windows you are using, nor do you say how you are installing RabbitMQ - are you using the .exe install package or the .zip package? This is all very important information to share when you ask questions about RabbitMQ (or any software, really).
When you install RabbitMQ and start it for the first time, Erlang will create cookie files. You can read this document to see where these files are created - it depends on your version of Windows and Erlang (which is why I need to know both!).
When you run commands like rabbitmqctl.bat or rabbitmq-plugins.bat, the cookie is read to establish a connection to RabbitMQ. If the cookie file in your user's home directory does not match the cookie being used by the server, you will see an "offline change" being made.
What you should do if you are using either the .exe installer or the .zip installer is, after RabbitMQ starts, be sure to copy the .erlang.cookie file from where RabbitMQ is reading it (most likely C:\WINDOWS\system32\config\systemprofile\.erlang.cookie) to your user's home directory (C:\Users\my-account\.erlang.cookie).
Then, run rabbitmq-plugins.bat enable rabbitmq_management and the plugin will be enabled at run-time.
An alternative is to pre-create the enabled_plugins file and save it to %AppData%\RabbitMQ\enabled_plugins before starting RabbitMQ the first time. %AppData% is the application directory of the admin user account you're using to install and start / stop RabbitMQ.
To enable the management plugin, that file should contain the following text:
[rabbitmq_management].
Let me know how it goes, thanks.
The RabbitMQ team monitors the rabbitmq-users mailing list and only sometimes answers questions on StackOverflow.

Using RestartManager to manually restart application and/or when upgrading

I have up until now been using my own restart application utility.
But I now see that there is a dedicated restart manager since Vista.
This is useful for me because I now limit my application to Windows 7 or higher.
Currently, I offer a manual restart when the user changes the application language.
Also, after they have downloaded an updated installer (Inno Setup) it shuts the app down and starts the setup program.
I can't work out how to do these thing with the MFC restart manager. It mentions about adding one line of code to my MFC app and how to simulate scenarios. But what about my specific situations?
If you can please direct me to a good tutorial?
Sorry if my question is off topic and I will remove.

MQ fix pack upgrade issues

I have MQ V8.0.0.2 installed in my system and I am applying the fix pack to upgrade it to 8.0.0.5 using the silent install method. It runs successfully and finishes but dspmqver still says the version as 8.0.0.2.
It is on a Windows 7 machine 64 bit. The exe file I am using to apply the fix pack is WS-MQ-8.0.0-FP0005.exe.
I am not getting any errors in the command prompt. I followed the installation instructions IBM suggested while downloading the fix pack. I stopped the MQ manager and then ran the command WS-MQ-8.0.0-FP0005.exe -f silent_install.resp
I gave the response file name along with its path. But its still not working.
Update
On a multi-installation setup the update was being applied properly but to a different installation. To fix the problem, run amqicsdn.exe as described in Applying maintenance level updates on IBM MQ servers in the Windows maintenance Tasks section of the Knowledge Center.
amqicsdn MQPINSTALLATIONNAME=name MQPSILENT=1
This invocation sets a pointer to the installation that is to be updated.
The response file tells the installer what to do and what to install. Depending on what is set there, what you are seeing is what would be expected.
Specifically, the MQPREBOOT and MQPINUSEOK parms tell the installer whether or not to continue if a file it needs to update is in use. There are two likely outcomes here.
1) The maintenance was applied correctly but because files were in use it will not show up until after a reboot.
2) The MQPINUSEOK parm told the installer to bail out if the files were in use.
On Windows, even though the QMgr is stopped, the service continues running. Depending on the MQPINUSEOK setting that would either cause the install to fail or to complete pending a reboot.
It is worth noting that installing anything on Windows requires a couple of reboots. The very first thing before running the install or upgrade is to reboot. That ensures that the registry is saved at the current values. It also ensures that if someone else's app has gone rogue with a memory leak or other issue, it gets cleared before your MQ install proceeds.
After the install, reboot again to ensure the registry with the new MQ settings is saved. That's because if the server crashes, you want the last known good registry entry to be the one with your install or upgrade reflected in it. That also ensures the services still start as expected.
Finally, I'm unsure what "the installation instructions IBM suggested while downloading the fix pack" are but the official instructions are in the Knowledge Center section Windows: Applying maintenance level upgrades on IBM MQ servers. Among the other information you will find there is that the location for the installation log is either specified in the response file or defaults to amqicsdn.txt in your TEMP directory (%TEMP%).
Try to stop the Message Queue Manager and then run the installation command again (after modifying the silent response file). If you still face this issue, check if you have a "C:\Program Files\IBM\source\WebSphere MQ 8.0.0.5" folder created and then run the "amqicsdn.exe" file. That should resolve your issue!

java.net.SocketException: No buffer space available (maximum connections reached?): JVM_Bind

Tomcat is running a webapp under Windows. After a few days (under very low load), the exception mentioned in the title starts to appear in the logs, no new connections can be established from that point on, the only fix is then to reboot the server.
Environment:
Latest Tomcat 6
Windows Server 2008 R2
JDK 6 update 30
SQL Server 2008
Kerberos authentication
Evidence collected so far:
netstat shows no excessive amount of connections
ProcessExplorer shows no excessive amount of open file handles
system main memory usage is average
JVM heap usage is average
restarting Tomcat does not solve the problem
Open questions:
if we were leaking connections, shouldn't they show up in netstat?
shouldn't a restart of the appserver resolve the problem, because the OS should free all process resources?
is there a way to trace the problem to its origin? E.g. installing monitoring software, maybe something similar to lsof etc.?
I'm out of ideas, any hints appreciated!
The reason we got this error is a bug in Windows Server 2008 R2 / Windows 7. The kernel leaks loopback sockets due to a race condition on machines with more than one core, this patch fixes the issue:
http://support.microsoft.com/kb/2577795
I was running Alfresco Community 4.0d on Windows 7 64 bit and had the same symptoms and errors.
The problem was fixed with Microsoft's patch: "Kernel sockets leak on a multiprocessor computer that is running Windows Server 2008 R2 or Windows 7" (http://support.microsoft.com/kb/2577795) (ie. Buddy Casino's answer (see below)).
Another observation I'd like to add is that Windows connections (Internet Explorer, Remote Desktop etc) would work again about 5-10 mins after the Alfresco services were shutdown.
Alfresco is an excellent product and I was afraid I would have to scrap it. Fortunately stackoverflow came to the rescue !
Thanks again to Buddy Casino's answer.
Boo to the person who down-voted the Question.
We are seeing the same thing on a similar setup, W2008R2, Tomcat 6.0.29, Java 1.6.0.25. Restarting tomcat does not help, but restarting the server itself does, at least for a while. After the last time we started shutting down individual services and believe we have it narrowed down to either an instance of Alfresco that is also running on the server or the Backup Exec Agent services. After those services (four in total) were stopped, the applications in Tomcat started working again, although we were still seeing the buffer/connections error in the stdout log which was strange. Will need to wait for the problem to return before confirming which are the culprit, which could be anywhere from a few days to a week or more.
Any chance you are running either Alfresco or BE on your server?

Stop/Start Uniface service on a Win 2008 server

Trying to restore a SQL database on a test system, but can't because a Uniface service keeps connecting to it. Looks like Uniface 9.4.
Having trouble finding much documentation on this venerable old Uniface platform. Does it have a service name in Windows? Or does it run as a lower-level process?
Any pointers to documentation greatly appreciated
Revoke all permission from all users except a newly created system user. Now connect using that user and kill all other running connections/sessions. You can continue doing maintenance work. After that restore permission.
Should work on any SQL database.
Stop the uniface urouter service and that will stop the uniface application servers and prevent any client processes from connecting. Once done, restart the urouter. I am making a few assumptions about your setup, so if this fails to help, take the ungraceful approach of killing the following processes (uniface.exe, idf.exe, userver.exe). If you have uniface flow installed and running, there are other processes to stop too, but for now, I will assume you are not running that.
Documentation is in the installation folder. A lot of information can also be found at:
http://www.uniface.info/
It is very active and you can download a trial of the latest Uniface release.

Resources