Forum Discussion
Web Accelerator not responding to iControl invalidation commands
Things we have tried:
1. Using the provided Perl script
2. Using soapUI to send the message and look at the results. We get the response but the cache is not invalidated.
3. Using a Java class along with the iControl assembly iControl.jar (recompiled under JDK 1.4.2)
In all cases, we are not seeing the cache invalidated. We have tried both the invalidate_content as well as the esi_invalidate_content methods.
We've tried with putting START_INVALIDATION_MESSAGE:b2c in front of the xml as well as without it. I can send the exact same message to our v4 server (without the START_INVALIDATION_MESSAGE) and the cache invalidates. In all cases, we are Base64 encoding it as it shows in the Perl script:
Message must be Base64 encoded inorder to send in SOAP message
my $encoded_message = encodeBase64($message);
We can get SystemInfo just fine using soapUI and Java (haven't tried it with Perl) so we know we are able to connect and get good responses back
If I login to the admin console and invalidate the entire cache there, it works just fine as well.
We need to get iControl working so we can put these servers into our production environment and retire our v4 servers.
- Are you manually base64 encoding the information or are you letting the script do it?
- Jim_Morgan_4481NimbostratusDawn,
- Jim_Morgan_4481NimbostratusHi Dawn,
- Thanks for the files. Maybe I'm missing it but I'm not seeing where you are passing in the name of the application?
- Jim_Morgan_4481NimbostratusHi Dawn,
START_INVALIDATION_MESSAGE:b2c Our applications are b2c and c2c (see .jpg). Regards, Jim
- transmission_coHistoric F5 Account
Greetings. Your actual XML message in test_f5.txt is valid; it works for me with the appropriate change to the app name and the URI.
I have not looked at your Java program. But here is a pearl of wisdom followed by a very simple example which you might use as a better starting example than the rather sordid Perl script to which I think you're referring.
Search your log /var/log/tomcat/catalina.out for an error similar to this:
Exception in thread "Thread-5" java.lang.NullPointerException at com.f5.wa.esi.server.InvalidationSocketServer.processInvalidation(InvalidationSocketServer.java:157) at com.f5.wa.esi.server.InvalidationSocketServer.run(InvalidationSocketServer.java:103) at java.lang.Thread.run(Unknown Source)
If this error occurred since last time you restarted tomcat, then you will find yourself in an unfortunate predicament, a predicament subversive to developing your working invalidation script. Because subsequent iControl calls to the method will silently fail in the meantime even with a properly base64 encoded XML message. Restart the tomcat service for to recover.
tmsh restart sys service tomcat
The condition occurs after certain invalid / corrupt messages to esi_invalidate_content, which makes it easily stumbled upon trying to develop a new script.
That Python example is attached. It seems to require more effort than it's worth to render it correctly within the posting. - Jim_Morgan_4481NimbostratusWell, I found out I was indeed crashing the Invalidation Server process. After restarting Tomcat, I'm able to invalidate the cache using both soapUI and Perl, but not with the iControl assembly java library.
- Jim_Morgan_4481NimbostratusHi,
Exception in thread "Thread-5" java.lang.NullPointerException at com.f5.wa.esi.server.InvalidationSocketServer.processInvalidation(InvalidationSocketServer.java:157) at com.f5.wa.esi.server.InvalidationSocketServer.run(InvalidationSocketServer.java:103) at java.lang.Thread.run(Unknown Source) At times we need to do on the fly page invalidation where we'll be hand crafting the xml message. Regards, Jim Morgan
- transmission_coHistoric F5 Account> fix the NullPointerException in the server code.
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com