Topic
  • 24 replies
  • Latest Post - ‏2013-08-08T13:44:46Z by swlinn
DPUser77
DPUser77
70 Posts

Pinned topic Out Of memory while doing load test in data power

‏2013-07-24T10:27:02Z |

Hi,

I am getting lots of Out Of Memory errors in Default logs for every transform action in all the rules. and suddenly the DP domain goes down.

Not able to figure out whether it is a configuration issue (the way mpgw rules are configured or it is a box issue).

The DP box used is XI50.3.8.2.12 . The sample log message for every xslt is

"Transforming  Input with xslt  xxx.xsl  result stored in pipe failed:Out of memory"

I have also attached the sample logs. We are using normal dp functions like dp:url-open and other generic error handling like logging to SNMP .

Please share your valuable thoughts on this.

Updated on 2013-07-24T10:29:36Z at 2013-07-24T10:29:36Z by DPUser77
  • JTQK_Sunny_Goel
    JTQK_Sunny_Goel
    10 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-24T19:18:33Z  

    Hi,

    Did you check memory usage on box before running load test? if its possible could you please share the load pattern also?

    Thanks

  • DPUser77
    DPUser77
    70 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-25T19:30:01Z  

    Hi,

    Did you check memory usage on box before running load test? if its possible could you please share the load pattern also?

    Thanks

    Hi,

    Thanks for replying.

    We started with 10 users and go on increasing users gradually . But DP domain is going for a toss after 15 mins of testing.

    And we are seeing Out Of Memory issue

    Earlier we were referring a file of 1 mb from Temp:// directory from our xslt and querying that to fetch a value and file in the temp:// folder was coming via a scheduled rule from CICS web service which runs evry 6 hrs.

    When we removed the temp folder query our load test was running fine.

     

    Can you please tell like if there is any drastic memory issue while accessing the file from temp directory in spite of local directory and what exactly is the cause of Out Of memory issue

    And also we need to  have that scheduled rule, we did a PoC for SOMA call, it worked to update in local directory, but our leads have rejected that method. 

    Please share your valuable thoughts on Out Of Memory issue and File Update.

  • Kumar_Y
    Kumar_Y
    380 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-25T19:44:27Z  
    • DPUser77
    • ‏2013-07-25T19:30:01Z

    Hi,

    Thanks for replying.

    We started with 10 users and go on increasing users gradually . But DP domain is going for a toss after 15 mins of testing.

    And we are seeing Out Of Memory issue

    Earlier we were referring a file of 1 mb from Temp:// directory from our xslt and querying that to fetch a value and file in the temp:// folder was coming via a scheduled rule from CICS web service which runs evry 6 hrs.

    When we removed the temp folder query our load test was running fine.

     

    Can you please tell like if there is any drastic memory issue while accessing the file from temp directory in spite of local directory and what exactly is the cause of Out Of memory issue

    And also we need to  have that scheduled rule, we did a PoC for SOMA call, it worked to update in local directory, but our leads have rejected that method. 

    Please share your valuable thoughts on Out Of Memory issue and File Update.

    Is the device is getting rebooted due to OOM? If yes than what do you see in the error report? Why you are running on 3.8x..

    I guess you maybe have to open IBM PMR 

  • DPUser77
    DPUser77
    70 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-25T20:29:33Z  
    • Kumar_Y
    • ‏2013-07-25T19:44:27Z

    Is the device is getting rebooted due to OOM? If yes than what do you see in the error report? Why you are running on 3.8x..

    I guess you maybe have to open IBM PMR 

    Hi Kumar,

    Thanks for replying.

    So you are seeing an issue with the box version.

    We are suspecting the querying on 1 MB file mentioned above to be the issue. Also we doing this querying in an async transform action ie a parallel  thread will be started.

    Can you please share your thoughts on that.

    Please correct me if i am wrong

    Updated on 2013-07-25T20:30:51Z at 2013-07-25T20:30:51Z by DPUser77
  • swlinn
    swlinn
    1395 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-25T21:29:00Z  

    3.8.2.x is getting pretty dated by now (in 2 1/2 years there has been 5 major firmware release, with the most recent 6.0.0.0 released in June).  There have been numerous memory management improvements over the years since this release came available.  Is there any chance you are considering upgrading to a more recent release?  Also, looking at the list of APARS since 3.8.2.12 to the current 3.8.2.18, there are a number of memory related fixes that might apply too, so looking at the latest fixpack for 3.8.2 may be an option too.  Having said that, what type of load are you seeing when the device is starting to report OOMs?  For your 1MB file that you are fetchng, is this same file fetched on every request and is the file cached in your xml manager document cache policy? I wouldn't think the fetching of the file is the issue, but instead  the 1MB file for every request is causing each transaction to consume that amount of memory plus the other memory associated with the request, and with that individual transaction memory the overall load with that type of memory consumption is the causing the issue.  If so, you should consider adding a SLM action to prevent your load from over running the appliance.

    Regards,

    Steve

  • DPUser77
    DPUser77
    70 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-26T04:19:42Z  
    • swlinn
    • ‏2013-07-25T21:29:00Z

    3.8.2.x is getting pretty dated by now (in 2 1/2 years there has been 5 major firmware release, with the most recent 6.0.0.0 released in June).  There have been numerous memory management improvements over the years since this release came available.  Is there any chance you are considering upgrading to a more recent release?  Also, looking at the list of APARS since 3.8.2.12 to the current 3.8.2.18, there are a number of memory related fixes that might apply too, so looking at the latest fixpack for 3.8.2 may be an option too.  Having said that, what type of load are you seeing when the device is starting to report OOMs?  For your 1MB file that you are fetchng, is this same file fetched on every request and is the file cached in your xml manager document cache policy? I wouldn't think the fetching of the file is the issue, but instead  the 1MB file for every request is causing each transaction to consume that amount of memory plus the other memory associated with the request, and with that individual transaction memory the overall load with that type of memory consumption is the causing the issue.  If so, you should consider adding a SLM action to prevent your load from over running the appliance.

    Regards,

    Steve

    Steve,

    We are using this file in every transaction. And it is not cached in XML manager as Our service from where we are updating  this in every  6 hours from is a soap post web service. we will try caching it.

    Can u please some more info on SLM that you are referring to

     

     

     

  • DPUser77
    DPUser77
    70 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-26T04:20:28Z  
    • swlinn
    • ‏2013-07-25T21:29:00Z

    3.8.2.x is getting pretty dated by now (in 2 1/2 years there has been 5 major firmware release, with the most recent 6.0.0.0 released in June).  There have been numerous memory management improvements over the years since this release came available.  Is there any chance you are considering upgrading to a more recent release?  Also, looking at the list of APARS since 3.8.2.12 to the current 3.8.2.18, there are a number of memory related fixes that might apply too, so looking at the latest fixpack for 3.8.2 may be an option too.  Having said that, what type of load are you seeing when the device is starting to report OOMs?  For your 1MB file that you are fetchng, is this same file fetched on every request and is the file cached in your xml manager document cache policy? I wouldn't think the fetching of the file is the issue, but instead  the 1MB file for every request is causing each transaction to consume that amount of memory plus the other memory associated with the request, and with that individual transaction memory the overall load with that type of memory consumption is the causing the issue.  If so, you should consider adding a SLM action to prevent your load from over running the appliance.

    Regards,

    Steve

    Steve,

    We are using this file in every transaction. And it is not cached in XML manager as Our service from where we are updating  this in every  6 hours from is a soap post web service. we will try caching it.

    Can u please some more info on SLM that you are referring to

     

     

     

  • Kumar_Y
    Kumar_Y
    380 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-26T04:41:28Z  
    • DPUser77
    • ‏2013-07-26T04:20:28Z

    Steve,

    We are using this file in every transaction. And it is not cached in XML manager as Our service from where we are updating  this in every  6 hours from is a soap post web service. we will try caching it.

    Can u please some more info on SLM that you are referring to

     

     

     

    Hi,

    As Steve explain you are outdated on the version for sure. Unless Hermnann/Steve or IBM support can test your export.zip its hard to tell. By default XML Manager parses 4MB of size in your case its 1 MB itself. Thinking you are XI50 Max mem used is 4GB and you can't have more than that.

    All the details explanation given by Steve still requires higher firmware version for SLM atleast 5.x. 

  • swlinn
    swlinn
    1395 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-26T13:14:43Z  
    • DPUser77
    • ‏2013-07-26T04:20:28Z

    Steve,

    We are using this file in every transaction. And it is not cached in XML manager as Our service from where we are updating  this in every  6 hours from is a soap post web service. we will try caching it.

    Can u please some more info on SLM that you are referring to

     

     

     

    So two issues, first, the file caching.  If you don't cache the XML file in your XML Manager Doc Cache Policy, every time you read the file, the appliance must parse this xml, so under load, you're spending a lot of time parsing this same document over and over instead of processing client requests, which will definitely impact your performance.  Make sure you create a document cache size that is at least 50% larger than the actual document as I believe the parsed structure is larger that the filesize itself, and if you can't fit your document into the cache, you'll start parsing it over and over again.  Also, if you are using a fixed policy cache, make sure that this file has a higher priority than any other files you may want to place in your cache.  You don't want this file kicked out of the cache based on a least recently used mechanism because some smaller file can't fit in the cache unless the big one is removed.  This again will start the big file being parsed over and over again.  As far as the expiration time, you can use a fixed policy with a time to live of something relatively short, say 5 minutes.  That means it will be parsed once every five minutes instead of once every transaction, but when the file is updated you'll get it to take effect in a short manner of time.

    SLM ... As Kumar has indicated, there have been a great number of improvements in SLM since 3.8.2, but in that release what you'll need to do is to create a resource class that is configured as concurrent transactions.  Your SLM statement could set a threshold, say, 200 every second.  Your resource class will match every request, so if more than 200 transactions are active in your SLM policy in your service per second, your SLM action will be taken.  You can throttle requests, which will start rejecting traffic but will protect the appliance.  Based on your load test monitoring, you can adjust your threshold up or down depending upon its effectiveness, ie, increase the threshold if the appliance has more capacity, decrease if you're still seeing OOMs at that threshold.  Of course, this is all assuming that this particular service is the only one that will be running on the appliance.

    Regards,
    Steve

  • DPUser77
    DPUser77
    70 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-26T13:28:20Z  
    • swlinn
    • ‏2013-07-26T13:14:43Z

    So two issues, first, the file caching.  If you don't cache the XML file in your XML Manager Doc Cache Policy, every time you read the file, the appliance must parse this xml, so under load, you're spending a lot of time parsing this same document over and over instead of processing client requests, which will definitely impact your performance.  Make sure you create a document cache size that is at least 50% larger than the actual document as I believe the parsed structure is larger that the filesize itself, and if you can't fit your document into the cache, you'll start parsing it over and over again.  Also, if you are using a fixed policy cache, make sure that this file has a higher priority than any other files you may want to place in your cache.  You don't want this file kicked out of the cache based on a least recently used mechanism because some smaller file can't fit in the cache unless the big one is removed.  This again will start the big file being parsed over and over again.  As far as the expiration time, you can use a fixed policy with a time to live of something relatively short, say 5 minutes.  That means it will be parsed once every five minutes instead of once every transaction, but when the file is updated you'll get it to take effect in a short manner of time.

    SLM ... As Kumar has indicated, there have been a great number of improvements in SLM since 3.8.2, but in that release what you'll need to do is to create a resource class that is configured as concurrent transactions.  Your SLM statement could set a threshold, say, 200 every second.  Your resource class will match every request, so if more than 200 transactions are active in your SLM policy in your service per second, your SLM action will be taken.  You can throttle requests, which will start rejecting traffic but will protect the appliance.  Based on your load test monitoring, you can adjust your threshold up or down depending upon its effectiveness, ie, increase the threshold if the appliance has more capacity, decrease if you're still seeing OOMs at that threshold.  Of course, this is all assuming that this particular service is the only one that will be running on the appliance.

    Regards,
    Steve

    Hi Steve,

    Thanks for replying.

    The main issue was the query that we were using to retrive the data from the file. It was looping for  each and every record along with the usage of context variables. Now we have optimized that. we did not considered that to be an issue as for less load it was working fine.

    Also I tried document cache policy referring the below link https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014049694 but i am not able to see the caching message specifically for our file.

    I checked the logs of xml manager. It gives cache message for all the xslts  as by default it caches the xslts that used.

    Any specific logs i can check to ensure that cache is being used.

     

    Updated on 2013-07-26T13:30:20Z at 2013-07-26T13:30:20Z by DPUser77
  • swlinn
    swlinn
    1395 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-26T13:55:34Z  
    • DPUser77
    • ‏2013-07-26T13:28:20Z

    Hi Steve,

    Thanks for replying.

    The main issue was the query that we were using to retrive the data from the file. It was looping for  each and every record along with the usage of context variables. Now we have optimized that. we did not considered that to be an issue as for less load it was working fine.

    Also I tried document cache policy referring the below link https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014049694 but i am not able to see the caching message specifically for our file.

    I checked the logs of xml manager. It gives cache message for all the xslts  as by default it caches the xslts that used.

    Any specific logs i can check to ensure that cache is being used.

     

    So with your file being 1MB, you'd need to set your doc cache size to at least 1.5MB, and your policy to set *yourfile.xml to be cached for some TTL, Fixed priority=128.  If you look at Status - XML Processing - Document Cache, you should see your document in this cache after a first use.  Are you not seeing it there?  If not, then perhaps your matching is not correct and the file is not being cached.  If I understand your post, you xslt that was searching for your specific record was inefficient and your optimization greatly improved the performance of your stylesheet?  If so, your Status metrics can also provide some information here if you have statistics enabled for your domain.  Look at stylesheet execution times which is in the same group as the document cache status.  You can also do some profiling of your stylesheet.  As I recall, Hermann's blog has a great example of doing this.

    Best Regards,
    Steve

  • DPUser77
    DPUser77
    70 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-26T14:26:54Z  
    • swlinn
    • ‏2013-07-26T13:55:34Z

    So with your file being 1MB, you'd need to set your doc cache size to at least 1.5MB, and your policy to set *yourfile.xml to be cached for some TTL, Fixed priority=128.  If you look at Status - XML Processing - Document Cache, you should see your document in this cache after a first use.  Are you not seeing it there?  If not, then perhaps your matching is not correct and the file is not being cached.  If I understand your post, you xslt that was searching for your specific record was inefficient and your optimization greatly improved the performance of your stylesheet?  If so, your Status metrics can also provide some information here if you have statistics enabled for your domain.  Look at stylesheet execution times which is in the same group as the document cache status.  You can also do some profiling of your stylesheet.  As I recall, Hermann's blog has a great example of doing this.

    Best Regards,
    Steve

    Steve,

    I am able to see document in cache and i have already mentioned the cache size around  5mb bytes equivalent.

    Is there any other way that i can verify our configuration are fine and only cached xml is being referred other than this.

    Also as i mentioned above we used to have scheduled rules which update the files in temp folder and we refer them.

    So refering a file in temp will be an efficient option for prod or not. We did a PoC for SOMA calls but it is rejected by our mangers citing to be a security issue.

    And cannot cache after doing a call as our request is a POST request.

    Please share your valuable thoughts on both the points.

  • swlinn
    swlinn
    1395 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-26T16:57:02Z  
    • DPUser77
    • ‏2013-07-26T14:26:54Z

    Steve,

    I am able to see document in cache and i have already mentioned the cache size around  5mb bytes equivalent.

    Is there any other way that i can verify our configuration are fine and only cached xml is being referred other than this.

    Also as i mentioned above we used to have scheduled rules which update the files in temp folder and we refer them.

    So refering a file in temp will be an efficient option for prod or not. We did a PoC for SOMA calls but it is rejected by our mangers citing to be a security issue.

    And cannot cache after doing a call as our request is a POST request.

    Please share your valuable thoughts on both the points.

    I did a simple test case where my stylesheet is doing a <xsl:copy-of select="document('local://testdoc.xml')" />  When the doc is not cached, you'll see these messages in your logs ...

    xmlparse debug 59184 request 192.168.72.1 0x80e003ab mpgw (Test-MPGW): Finished parsing: local:///testdoc.xml
    xmlparse debug 59184 request 192.168.72.1 0x80e003a6 mpgw (Test-MPGW): Parsing document: 'local:///testdoc.xml'

    On a subsequent request, these messages are not in the logs for that transaction.  There is not a message that essentially says

    "found local:///testdoc.xml in cache, so if your status shows the file in cache, you should be fine.  Getting the file from temporary versus local will work as well in a similar manner.  I'm not crazy of using anything in temporary, and you have to be using dp:dump-nodes to get the file in temporary which in my mind is a debug type of extension function, but since you're only doing this infrequently, it should work.

    Regards,

    Steve

     

  • DPUser77
    DPUser77
    70 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-27T11:23:36Z  
    • swlinn
    • ‏2013-07-26T16:57:02Z

    I did a simple test case where my stylesheet is doing a <xsl:copy-of select="document('local://testdoc.xml')" />  When the doc is not cached, you'll see these messages in your logs ...

    xmlparse debug 59184 request 192.168.72.1 0x80e003ab mpgw (Test-MPGW): Finished parsing: local:///testdoc.xml
    xmlparse debug 59184 request 192.168.72.1 0x80e003a6 mpgw (Test-MPGW): Parsing document: 'local:///testdoc.xml'

    On a subsequent request, these messages are not in the logs for that transaction.  There is not a message that essentially says

    "found local:///testdoc.xml in cache, so if your status shows the file in cache, you should be fine.  Getting the file from temporary versus local will work as well in a similar manner.  I'm not crazy of using anything in temporary, and you have to be using dp:dump-nodes to get the file in temporary which in my mind is a debug type of extension function, but since you're only doing this infrequently, it should work.

    Regards,

    Steve

     

    Steve,

    Thanks for the information.

    We have configured two scheduled rules .

    One will update the files from CICS region in every 6 hrs.

    Second will check the presence of file in temp: in very 1 min and if file is not available in  that case it will make a call and put the files.

    So caching from temp folder along with above approach will affect performance ??

    Please share your valuable thoughts on this flow.

     

  • swlinn
    swlinn
    1395 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-29T13:21:26Z  
    • DPUser77
    • ‏2013-07-27T11:23:36Z

    Steve,

    Thanks for the information.

    We have configured two scheduled rules .

    One will update the files from CICS region in every 6 hrs.

    Second will check the presence of file in temp: in very 1 min and if file is not available in  that case it will make a call and put the files.

    So caching from temp folder along with above approach will affect performance ??

    Please share your valuable thoughts on this flow.

     

    I'd think if the file is cached in the doc cache, whether you're attempting to fetch the file from your scheduled rule or your client request rule will be very fast.  Doc cache doesn't care where the source of the file is from, so temporary:///yourfile.xml or local:///yourfile.xml makes no difference from a performance perspective.  I'd be more concerned about the use case where your scheduled rule, via dumpnodes, is updating the file at the same time the document cache entry has expired and the file could be read at the same time.  Will this case cause errors?  I'd test this by running your performance test with the scheduled rule to update the file to be every minute.  If you start seeing errors, then you'll need to handle this approach.

    Regards,

    Steve

  • DPUser77
    DPUser77
    70 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-29T13:46:08Z  
    • swlinn
    • ‏2013-07-29T13:21:26Z

    I'd think if the file is cached in the doc cache, whether you're attempting to fetch the file from your scheduled rule or your client request rule will be very fast.  Doc cache doesn't care where the source of the file is from, so temporary:///yourfile.xml or local:///yourfile.xml makes no difference from a performance perspective.  I'd be more concerned about the use case where your scheduled rule, via dumpnodes, is updating the file at the same time the document cache entry has expired and the file could be read at the same time.  Will this case cause errors?  I'd test this by running your performance test with the scheduled rule to update the file to be every minute.  If you start seeing errors, then you'll need to handle this approach.

    Regards,

    Steve

    Thanks for the information Steve.

    But as i have read in one of the posts that if the file in the local box changes. Our xslt will refer to the local folder for the first time after first change instead of going to cached copy  and will get cached automatically the next time. Please correct me if i am wrong.

    Right now we are going ahead with a temporary soluation of manually updating the file in a week or whenever the information changes . And will parallely look for other solutions. And please share your thoughts also.

     

     

  • swlinn
    swlinn
    1395 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-29T14:11:09Z  
    • DPUser77
    • ‏2013-07-29T13:46:08Z

    Thanks for the information Steve.

    But as i have read in one of the posts that if the file in the local box changes. Our xslt will refer to the local folder for the first time after first change instead of going to cached copy  and will get cached automatically the next time. Please correct me if i am wrong.

    Right now we are going ahead with a temporary soluation of manually updating the file in a week or whenever the information changes . And will parallely look for other solutions. And please share your thoughts also.

     

     

    I believe that is correct, and that temporary would act the same as local in that respect, but you should verify that to make sure.  The one thing I ran across in the 3.6 days was updating large xml files on the appliance's local directory using a SOMA XML Management Interface's dp:set-file request would cause errors to in flight traffic.  Apparently, this type of file update in not an atomic operation, so when pushing very large files, the in-flight requests would get a partial file which would not parse correctly and cause the transaction to fail.  The solution that was implemented to get around this was to send all of the files to the temporary directory, and then have another SOMA request do a dp:do-action request that moved each file from temporary to local.  This took some coordination between the two SOMA requests as the temporary direction does not allow subdirectories, and yet our files in local did.  A numbering suffix was appended to each file name to make sure the same filename in different directories wouldn't overwrite each other, and the move copied the proper temporary file to the proper local directory.  That operation was atomic in our testing and caused no in flight errors.  As I said, that was a long time ago and I've not tested to see if this scenario causes the same issue today.  In your scenario, my concern would be if a dp:dump-nodes update would be atomic as far as the in-flight requests would be concerned.

    Regards,

    Steve

  • HermannSW
    HermannSW
    5814 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-29T14:13:51Z  
    • DPUser77
    • ‏2013-07-29T13:46:08Z

    Thanks for the information Steve.

    But as i have read in one of the posts that if the file in the local box changes. Our xslt will refer to the local folder for the first time after first change instead of going to cached copy  and will get cached automatically the next time. Please correct me if i am wrong.

    Right now we are going ahead with a temporary soluation of manually updating the file in a week or whenever the information changes . And will parallely look for other solutions. And please share your thoughts also.

     

     

    Hi,

    given your use case, what is wrong with the DataPower cache behavior you described?

    If the file in local folder has not changed, the compiled stylesheet from stylesheet cache will be used for transformations.

    If the file in local folder did change (by editing/updating it via File Manager, or by set-file SOMA call), then DataPower will compile the new stylesheet, put it into stylesheet cache and use the new version form transformations from that time on.


    Hermann<myXsltBlog/> <myXsltTweets/> <myCE/>

  • DPUser77
    DPUser77
    70 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-29T14:31:46Z  
    • swlinn
    • ‏2013-07-29T14:11:09Z

    I believe that is correct, and that temporary would act the same as local in that respect, but you should verify that to make sure.  The one thing I ran across in the 3.6 days was updating large xml files on the appliance's local directory using a SOMA XML Management Interface's dp:set-file request would cause errors to in flight traffic.  Apparently, this type of file update in not an atomic operation, so when pushing very large files, the in-flight requests would get a partial file which would not parse correctly and cause the transaction to fail.  The solution that was implemented to get around this was to send all of the files to the temporary directory, and then have another SOMA request do a dp:do-action request that moved each file from temporary to local.  This took some coordination between the two SOMA requests as the temporary direction does not allow subdirectories, and yet our files in local did.  A numbering suffix was appended to each file name to make sure the same filename in different directories wouldn't overwrite each other, and the move copied the proper temporary file to the proper local directory.  That operation was atomic in our testing and caused no in flight errors.  As I said, that was a long time ago and I've not tested to see if this scenario causes the same issue today.  In your scenario, my concern would be if a dp:dump-nodes update would be atomic as far as the in-flight requests would be concerned.

    Regards,

    Steve

    Steve,

    The first conecrn you mentioned of getting parsing  errors while direclty updating the file ~ We can have an error handling mechanism to raise a ticket to handle this scenario. Please correct me If I am wrrong

     I will do a small PoC (getting the file via a scheduled rule )  for our file size and update you about the concern that you have regarding this.

     

  • DPUser77
    DPUser77
    70 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-29T14:35:03Z  
    • HermannSW
    • ‏2013-07-29T14:13:51Z

    Hi,

    given your use case, what is wrong with the DataPower cache behavior you described?

    If the file in local folder has not changed, the compiled stylesheet from stylesheet cache will be used for transformations.

    If the file in local folder did change (by editing/updating it via File Manager, or by set-file SOMA call), then DataPower will compile the new stylesheet, put it into stylesheet cache and use the new version form transformations from that time on.


    Hermann<myXsltBlog/> <myXsltTweets/> <myCE/>

    Thanks for replying Hermann !!

    Yes we are trying to do that only. Steve, has a small concern regarding the in-flight requests would get a partial file which would not parse correctly and cause the transaction to fail .

    Please share your thoughts on this

  • HermannSW
    HermannSW
    5814 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-29T15:10:29Z  
    • DPUser77
    • ‏2013-07-29T14:35:03Z

    Thanks for replying Hermann !!

    Yes we are trying to do that only. Steve, has a small concern regarding the in-flight requests would get a partial file which would not parse correctly and cause the transaction to fail .

    Please share your thoughts on this

    There is no problem with inflight transactions.

    A transaction gets its cached stylesheet and they remain valid even if during the transaction run time (even for long run times) the stylesheet gets recompiled because it has been changed. Only new transactions will execute the newly compiled stylesheets from stylesheet cache.

     

    Hermann<myXsltBlog/> <myXsltTweets/> <myCE/>

  • swlinn
    swlinn
    1395 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-07-29T19:01:31Z  
    • HermannSW
    • ‏2013-07-29T15:10:29Z

    There is no problem with inflight transactions.

    A transaction gets its cached stylesheet and they remain valid even if during the transaction run time (even for long run times) the stylesheet gets recompiled because it has been changed. Only new transactions will execute the newly compiled stylesheets from stylesheet cache.

     

    Hermann<myXsltBlog/> <myXsltTweets/> <myCE/>

    Hi Hermann,

    I thought this thread was not on cached stylesheets, but cached xml documents as the use case was a very large xml document in the temporary directory.  The doc cache works similarly to the xsl cache when the xml file is updated, but as I noted earlier, some releases ago there were problems updating large xml files with soma and having in-flight requests fail as the document('local:///somefile.xml') was getting an incomplete xml file and failed to parse, thus the long winded workaround I described.  Are you aware if my experience in the 3.6 days has been improved and no longer a concern?

    Regards,
    Steve

  • DPUser77
    DPUser77
    70 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-08-08T13:20:32Z  
    • swlinn
    • ‏2013-07-29T19:01:31Z

    Hi Hermann,

    I thought this thread was not on cached stylesheets, but cached xml documents as the use case was a very large xml document in the temporary directory.  The doc cache works similarly to the xsl cache when the xml file is updated, but as I noted earlier, some releases ago there were problems updating large xml files with soma and having in-flight requests fail as the document('local:///somefile.xml') was getting an incomplete xml file and failed to parse, thus the long winded workaround I described.  Are you aware if my experience in the 3.6 days has been improved and no longer a concern?

    Regards,
    Steve

    Hi Steve/Hermann,

    We need one more suggestion on the use of temp:// directory. I just read an IBM article regarding the specifications of Data Power file management (http://www-01.ibm.com/support/docview.wss?uid=swg21496334) which  states that

    "The 'temporary'and 'internal' space are not persisted storage".

    And in addition to a 6hr scheduled rule to update the 1MB file from CICS webservices, we have configured a 1 minute scheduled rule which will keep on checking the presence of  the file in temp:// directory and make a webservice call, in case the file is not present .

    We are also caching this file.

    But Somehow our leads are not giving a go for this appraoch, considering this temp:// directory to be an issue for production.

    Please share your expertise on this approach i.e. would you recommend this approach for production as our service execution depends on this file.

    Also we have another service running on this domain, so will it effect that.?

    Please reply.

     

  • swlinn
    swlinn
    1395 Posts

    Re: Out Of memory while doing load test in data power

    ‏2013-08-08T13:44:46Z  
    • DPUser77
    • ‏2013-08-08T13:20:32Z

    Hi Steve/Hermann,

    We need one more suggestion on the use of temp:// directory. I just read an IBM article regarding the specifications of Data Power file management (http://www-01.ibm.com/support/docview.wss?uid=swg21496334) which  states that

    "The 'temporary'and 'internal' space are not persisted storage".

    And in addition to a 6hr scheduled rule to update the 1MB file from CICS webservices, we have configured a 1 minute scheduled rule which will keep on checking the presence of  the file in temp:// directory and make a webservice call, in case the file is not present .

    We are also caching this file.

    But Somehow our leads are not giving a go for this appraoch, considering this temp:// directory to be an issue for production.

    Please share your expertise on this approach i.e. would you recommend this approach for production as our service execution depends on this file.

    Also we have another service running on this domain, so will it effect that.?

    Please reply.

     

    It is correct that a reboot or reload of the appliance will drop these contents of these directories, but your scheduled rule will be putting it back upon the initial startup of the xml manager, so I don't see an issue there.  However, another approach would be to do a HTTP PUT to a Http Server and store the file off box, and you could get this file from the HTTP server in your normal processing, have it stored in the document cache with a 6hr TTL.  In version 6, there is also a new feature of the document cache that it will allow you to specify if you want expired entries returned from the cache, which you'd want to do if the HTTP server went down for any reason so you'd still have the older file until the HTTP server came back up.  That capability does not exist in earlier versions, so you would risk going without the file until the HTTP server was back up.  As for your other service running on the same domain, I would not see any impact for what you're currently doing.

    Regards,

    Steve