ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Changing a Broker's QM's CCSID

Post new topic  Reply to topic
 Changing a Broker's QM's CCSID « View previous topic :: View next topic » 
Author Message
PeterPotkay
PostPosted: Tue Dec 30, 2014 1:59 pm    Post subject: Changing a Broker's QM's CCSID Reply with quote

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
View user's profile Send private message
mvic
PostPosted: Tue Dec 30, 2014 2:09 pm    Post subject: Re: Changing a Broker's QM's CCSID Reply with quote

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
View user's profile Send private message
fjb_saper
PostPosted: Tue Dec 30, 2014 3:34 pm    Post subject: Re: Changing a Broker's QM's CCSID Reply with quote

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
View user's profile Send private message Send e-mail
zpat
PostPosted: Wed Dec 31, 2014 1:58 am    Post subject: Reply with quote

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
View user's profile Send private message
PeterPotkay
PostPosted: Wed Dec 31, 2014 10:19 am    Post subject: Re: Changing a Broker's QM's CCSID Reply with quote

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
View user's profile Send private message
PeterPotkay
PostPosted: Wed Dec 31, 2014 10:51 am    Post subject: Reply with quote

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
View user's profile Send private message
PeterPotkay
PostPosted: Wed Dec 31, 2014 10:59 am    Post subject: Re: Changing a Broker's QM's CCSID Reply with quote

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
View user's profile Send private message
rekarm01
PostPosted: Sun Jan 04, 2015 1:29 pm    Post subject: Reply with quote

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
View user's profile Send private message
mvic
PostPosted: Mon Jan 05, 2015 2:50 am    Post subject: Re: Changing a Broker's QM's CCSID Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Changing a Broker's QM's CCSID
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.