|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Changing a Broker's QM's CCSID |
« View previous topic :: View next topic » |
Author |
Message
|
PeterPotkay |
Posted: Tue Dec 30, 2014 1:59 pm Post subject: Changing a Broker's QM's CCSID |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Today I noticed a couple of my queue managers that support WMB Brokers (and nothing else) were running with a CCSID of 819, while the majority are running CCSID 1208. Turns out the server's local was set to en_US instead of en_US.UTF-8, no one notcied and when the QM was built, it got CCSID 819.
A. What are the risks in altering the Broker's Queue Manager's CCSID from 819 to 1208?
B. How does the Queue Manager's CCSID impact the operations of a Broker running on x86-64 RHEL 6.5 dealing only with US based English data?
C. Would changing the QM's CCSID from 819 to 1208 and not making any
other changes in WMB cause the data output by the message broker to
change at all?
D. Would incoming data need to change?
E. Or does the broker convert incoming data to a specific CCSID appropriate for the platform its running on irrespective of the QM's CCSID and the Broker's QM's CCSID is actually irrelevant?
F. If I want to change the QM CCSID from 819 to 1208, do I need to change the server’s locale from en_US to en_US.UTF-8 right before or right after I make the change to the QM?
G. In other words, is it acceptable to alter a QM’s CCSID from 819 to 1208 and leave the server’s locale as en_US?
Or must the QM’s CCSID match the server’s locale?
Phew, that's enough questions for now!
 _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
mvic |
Posted: Tue Dec 30, 2014 2:09 pm Post subject: Re: Changing a Broker's QM's CCSID |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
PeterPotkay wrote: |
A. What are the risks in altering the Broker's Queue Manager's CCSID from 819 to 1208? |
Why would you want to? What benefit would you expect to see? It's running ok right now, going by your description. |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Dec 30, 2014 3:34 pm Post subject: Re: Changing a Broker's QM's CCSID |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
PeterPotkay wrote: |
Today I noticed a couple of my queue managers that support WMB Brokers (and nothing else) were running with a CCSID of 819, while the majority are running CCSID 1208. Turns out the server's local was set to en_US instead of en_US.UTF-8, no one notcied and when the QM was built, it got CCSID 819.
A. What are the risks in altering the Broker's Queue Manager's CCSID from 819 to 1208? |
Default output might change from CCSID 819 to 1208
PeterPotkay wrote: |
B. How does the Queue Manager's CCSID impact the operations of a Broker running on x86-64 RHEL 6.5 dealing only with US based English data? |
Most probably no impact at all.
PeterPotkay wrote: |
C. Would changing the QM's CCSID from 819 to 1208 and not making any
other changes in WMB cause the data output by the message broker to
change at all? |
Only default output using the CCSID of the qmgr.
PeterPotkay wrote: |
D. Would incoming data need to change? |
No. I hope you weren't converting before parsing...
PeterPotkay wrote: |
E. Or does the broker convert incoming data to a specific CCSID appropriate for the platform its running on irrespective of the QM's CCSID and the Broker's QM's CCSID is actually irrelevant? |
You should know better than have to ask that question. The broker internals do not care about CCSID as they will accomodate any. (1200?)
PeterPotkay wrote: |
F. If I want to change the QM CCSID from 819 to 1208, do I need to change the server’s locale from en_US to en_US.UTF-8 right before or right after I make the change to the QM? |
A change in the default CCSID of the OS is more far reaching.
Think about any connections to a DB...
PeterPotkay wrote: |
G. In other words, is it acceptable to alter a QM’s CCSID from 819 to 1208 and leave the server’s locale as en_US?
Or must the QM’s CCSID match the server’s locale? |
Why would you think that the CCSID needs to match the locale? The downside of not matching is that you cannot display some messages correctly after convert... unless you asked for a conversion to the OS CSSID (not always possible (chinese character anybody?) )  _________________ MQ & Broker admin |
|
Back to top |
|
 |
zpat |
Posted: Wed Dec 31, 2014 1:58 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
The effect on the broker will be minimal. It converts to the internal codepage which is UTF-16.
However flows that have the MQinput node set to "convert" will be affected and start converting messages to 1208 (before the broker converts it again to 1200) - but since 1208 is a superset of 819, I don't forsee an issue.
Message flows which refer to (or rely on) the QM's CCSID value would be affected and might start producing some messages in 1208 that were previously 819.
Convert on channel (if used) will be affected (incoming) and convert to 1208 instead of 819.
Since 1208 can handle all the characters used in 819 (the reverse is certainly not true), I don't forsee too many issues.
My main concern would be possible generation of 1208 messages designed for applications that expect 819, and don't do a MQGET convert. _________________ Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Dec 31, 2014 10:19 am Post subject: Re: Changing a Broker's QM's CCSID |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
mvic wrote: |
PeterPotkay wrote: |
A. What are the risks in altering the Broker's Queue Manager's CCSID from 819 to 1208? |
Why would you want to? What benefit would you expect to see? It's running ok right now, going by your description. |
The discrepancy is between Broker / QMs that are supposed to be as identical as possible. DEV is 1208, INT, QA and PROD and DR are 819. I don't like that the 1st environment is different.
This particular set of Broker servers were stood up with locale set to en_us instead of en_US.UTF-8 and no one noticed that. We learned why the server guys did that (used en_US) back then for just these servers - would have been nice for them to tell us! It has since been added to my MQ Server Requirements build doc to ensure we get en_US.UTF-8 and we check for it before building the QM.
Comparing all my other Linux QM, 1208 is being used.
1208 is a superset of 819. While we are (currently) and US English only shop, you never know when we might need to start dealing with data that 1208 covers but 819 does not.
So while everything is running OK, it irks me that these particular Brokers are sitting at CCSID 819, especially since their DEV one is at 1208. Sooooo, I am considering "fixing" it, but don't know if its even worth it or how risky it is considering WMB is the only thing that uses them. Thus my line of questioning. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Dec 31, 2014 10:51 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
zpat wrote: |
The effect on the broker will be minimal. It converts to the internal codepage which is UTF-16.
However flows that have the MQinput node set to "convert" will be affected and start converting messages to 1208 (before the broker converts it again to 1200) - but since 1208 is a superset of 819, I don't forsee an issue.
Message flows which refer to (or rely on) the QM's CCSID value would be affected and might start producing some messages in 1208 that were previously 819.
Convert on channel (if used) will be affected (incoming) and convert to 1208 instead of 819.
Since 1208 can handle all the characters used in 819 (the reverse is certainly not true), I don't forsee too many issues.
My main concern would be possible generation of 1208 messages designed for applications that expect 819, and don't do a MQGET convert. |
Thanks zpat. My thinking exactly going from 819 to 1208. That's safer than the reverse since 1208 covers everything 819 but the reverse is not true.
See my reply to mvic...I'm thinking if I am going to go thru the trouble, do I change all the non DEV ones to 1208 (multiple environments including the sacred PROD), or change just the DEV one to 819 and walk away knowing they are at least all the same. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Dec 31, 2014 10:59 am Post subject: Re: Changing a Broker's QM's CCSID |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
fjb_saper wrote: |
PeterPotkay wrote: |
F. If I want to change the QM CCSID from 819 to 1208, do I need to change the server’s locale from en_US to en_US.UTF-8 right before or right after I make the change to the QM? |
A change in the default CCSID of the OS is more far reaching.
Think about any connections to a DB...
|
Good point, I didn't think of the DB connections. So WMB/IIB uses the local server's locale for determining the code page of the data it inserts into a remote DB? (We have no local DBs on the WMB servers)
fjb_saper wrote: |
PeterPotkay wrote: |
G. In other words, is it acceptable to alter a QM’s CCSID from 819 to 1208 and leave the server’s locale as en_US?
Or must the QM’s CCSID match the server’s locale? |
Why would you think that the CCSID needs to match the locale? The downside of not matching is that you cannot display some messages correctly after convert... unless you asked for a conversion to the OS CSSID (not always possible (chinese character anybody?) )  |
I dunno, the same reason IBM chose to default the QM CCSID to the server's locale? If they figured it was a good idea to put them in sync at QM build time I was wondering if I should maintain that. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
rekarm01 |
Posted: Sun Jan 04, 2015 1:29 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
zpat wrote: |
However flows that have the MQinput node set to "convert" will be affected and start converting messages to 1208 (before the broker converts it again to 1200) - but since 1208 is a superset of 819, I don't forsee an issue. |
If the MQInput node specifies also specifies a non-zero ccsid, then MQ will convert to that, rather than to the default QM ccsid. Although the character set for ccsid=1208 is a superset of the character set for ccsid=819, the byte encoding is different for non-ASCII characters.
PeterPotkay wrote: |
F. If I want to change the QM CCSID from 819 to 1208, do I need to change the server’s locale from en_US to en_US.UTF-8 right before or right after I make the change to the QM? |
The broker uses the locale code page more for tasks such as writing to the syslog, or writing trace files, but not so much for the actual input/output for message flows. It's simpler if the broker locale matches the QM ccsid, but it's not a hard requirement. Changing the QM ccsid requires restarting the qmgr to take effect, and changing the locale requires restarting the broker to take effect, so they can be done at the same time, rather than one before or after the other. |
|
Back to top |
|
 |
mvic |
Posted: Mon Jan 05, 2015 2:50 am Post subject: Re: Changing a Broker's QM's CCSID |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
PeterPotkay wrote: |
I am considering "fixing" it, but don't know if its even worth it or how risky it is considering WMB is the only thing that uses them. Thus my line of questioning. |
Any change brings risk. It might be worth the risk, if the benefit is big enough - but is it?
What's the benefit of having the same CCSID? In your case within MQ itself (ie. MQ's operation regardless of apps) I guess there are conversions 1208 <-> 819 being done unnecessarily on the few fields of the MQMD that are characters, for any message received over a channel. This gives a small CPU cost that you don't really need in your situation, but is probably negligible.
Within your app suite, the qmgr CCSID is relied upon if you use MQCCSI_Q_MGR and/or MQCCSI_INHERIT in your .CodedCharSetId fields. If you have apps that do this, then there is a big potential risk if you change the qmgr CCSID. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|