Monday Jul 29, 2013

Coherence on Exalogic: dealing with the multiple network interfaces

Recently, we worked an incident where error messages like the following were being thrown when starting the Coherence servers after an upgrade of EECS:
Oracle Coherence GE 3.7.1.8 (thread=Thread-3, member=n/a): Loaded Reporter configuration from "jar:file:/u01/app/fmw_product/wlserver_103/coherence_3.7/lib/coherence.jar!/reports/report-group.xml"
Exception in thread "Thread-3" java.lang.IllegalArgumentException: unresolvable localhost 192.168.10.66 at
com.tangosol.internal.net.cluster.LegacyXmlClusterDependencies.configureUnicastListener(LegacyXmlClusterDependencies.java:199)
...
Caused by: java.rmi.server.ExportException: Listen failed on port: 8877; nested exception is:
java.net.SocketException: Address already in use ...
weblogic.nodemanager.server.provider.WeblogicCacheServer$1.run(WeblogicCacheServer.java:26)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.net.UnknownHostException: 192.168.10.66 is not a local address
at com.tangosol.net.InetAddressHelper.getLocalAddress(InetAddressHelper.java:117)
at
com.tangosol.internal.net.cluster.LegacyXmlClusterDependencies.configureUnicastListener(LegacyXmlClusterDependencies.java:195)

It is a very known fact that Exalgic has several network interfaces (bond/eth 0,1,2, etc). The logic that Coherence uses when deciding what interface to connect to, specifically to support machines with multiple network interfaces as well as enhancements to allow the localaddress to be specified as a netmask to make configuration across larger clusters easier, makes important (even more than on previuous releases of Coherence) to make sure that the tangosol.coherence.localhost parameter is specified appropriately. From that IP address (or properly mapped host address) the desired network interface to be used can easily be found and then the Coherence cluster would work fine on it.

Thursday Mar 28, 2013

ClassCastException thrown when running Coherence with Exabus IMB enabled

Today I worked a Service Request which was a Coherence issue on an Exalogic platform. It is a very interesting issue (at least for me ).

An exception message like the following is thrown when running Coherence with IMB on a WLS server:
java.lang.ClassCastException: com.oracle.common.net.exabus.util.SimpleEvent
at com.tangosol.coherence.component.net.MessageHandler$EventCollector.add(MessageHandler.CDB:6)
at com.oracle.common.net.infinibus.InfiniBus.emitEvent(InfiniBus.java:323)
at com.oracle.common.net.infinibus.InfiniBus.handleEventOpen(InfiniBus.java:502)
at com.oracle.common.net.infinibus.InfiniBus.deliverEvents(InfiniBus.java:468)
at com.oracle.common.net.infinibus.EventDeliveryService$WorkerThread.run(EventDeliveryService.java:126)

The cause of this problem is that Coherence runs into a classloading issue when:
- using to enforce the child-first classloading
- coherence.jar is both in the system classpath and application classpath
- and Exabus IMB is enabled

In newer versions of WLS (12c), coherence.jar is in system classpath, so by default Coherence classes will be loaded from the system classpath. For situations where is required child first class loading semantics, and should be specified over configuration inside weblogic.xml to change the classloading order.

To solve this, add the following into weblogic.xml:
<container-descriptor>
  <prefer-application-packages>
    <package-name>com.tangosol.*</package-name>
    <package-name>com.oracle.common.**</package-name>
  </prefer-application-packages>
  <prefer-application-resources>
    <resource-name>com.tangosol.*</resource-name>
    <resource-name>com.oracle.common.*</resource-name>
    <resource-name>coherence-*.xml</resource-name>
    <resource-name>coherence-*.xsd</resource-name>
    <resource-name>tangosol-*.xml</resource-name>
    <resource-name>tangosol.properties</resource-name>
    <resource-name>tangosol.cer</resource-name>
    <resource-name>tangosol.dat</resource-name>
    <resource-name>internal-txn-cache-config.xml</resource-name>
    <resource-name>txn-pof-config.xml</resource-name>
    <resource-name>pof-config.xml</resource-name>
    <resource-name>management-config.xml</resource-name>
    <resource-name>processor-dictionary.xml</resource-name>
    <resource-name>reports/*</resource-name>
  </prefer-application-resources>
</container-descriptor>

Friday Sep 23, 2011

Coherence 3.7.1 Released

Coherence 3.7.1 is now available on OTN.

This new release of Coherence provides major enhancements for Exalogic and contains many new exciting features:
- REST Support
- Exabus Support
- Query Explain Plan
- Elastic Data Improvements
- Pluggable Partitioning
- REST interface
- POF Improvements
- Eliminate need for Java Key Classes

Thursday Sep 01, 2011

The MANIFEST.MF filename... Oh My!

In the last month I worked a Service Request along with my colleague Ernani Mattos, where on WebLogic 10.3.4, when attempting to deploy Coherance*Web, the following error occurs on RedHat, but not on Windows or Debian:
weblogic.application.ModuleException: Missing Coherence jar or WebLogic Coherence Integration jar

The customer was following the Caching Sessions with Coherence and WebLogic Server documentation.

Taking a look at the ModuleException, the coherence.jar is part of the counter.war application, and the Weblogic.coherence.integration.jar is declared with the active-cache-1.0.jar lib which is referenced by the MANIFEST.MF of the counter application.

The entire issue was that MANIFEST.MF on the counter.war was named as "manifest.mf"; Therefore RedHat Linux could not recognize it simply due to the naming issues. So make sure that manifest file name is "MANIFEST.MF" and declares to active-cache-1.0.jar which should be deployed as a lib on the servers.

This was solved by executing the following steps:
1. Explode the counter.war application
2. Goto counter/META-INF/ directory
3. Rename the manifest.mf to MANIFEST.MF
4. Deploy as open directory or compact back to war file and deploy

Wednesday Jun 22, 2011

Bay Area Coherence Special Interest Group Next Meeting July 21, 2011

Date: Thursday, July 21, 2011
Time: 4:30pm - 8:15pm ET (note that Parking at 475 Sansome Closes at 8:30pm)
Where: Oracle Office, 475 Sansome Street, San Francisco, CA Google Map

We will be providing snacks and beverages.

Register! - Registration is required for building security.


Presentation Line Up:


5:10pm - Batch Processing Using Coherence in Oracle Group Policy Administration - Paul Cleary, Oracle
Oracle Insurance Policy Administration (OIPA) is a flexible, rules-based policy administration solution that provides full record keeping for all policy lifecycle transactions. One component of OIPA is Cycle processing, which is the batch processing of pending insurance transactions. This presentation introduces OIPA and Cycle processing, describing the unique challenges of processing a high volume of transactions within strict time windows. It then reviews how OIPA uses Oracle Coherence and the Processing Pattern to meet these challenges, describing implementation specifics that highlight the simplicity and robustness of the Processing Pattern.

6:10pm - Secure, Optimize, and Load Balance Coherence with F5 - Chris Akker, F5
F5 Networks, Inc., the global leader in Application Delivery Networking, helps the world’s largest enterprises and service providers realize the full value of virtualization, cloud computing, and on-demand IT. Recently, F5 and Oracle partnered to deliver a novel solution that integrates Oracle Coherence 3.7 with F5 BIG-IP Local Traffic Manager (LTM). This session will introduce F5 and how you can leverage BIG-IP LTM to secure, optimize, and load balance application traffic generated from Coherence*Extend clients across any number of servers in a cluster and to hardware-accelerate CPU-intensive SSL encryption.

7:10pm - Using Oracle Coherence to Enable Database Partitioning and DC Level Fault Tolerance - Alexei Ragozin, Independent Consultant and Brian Oliver, Oracle
Partitioning is a very powerful technique for scaling database centric applications. One tricky part of partitioned architecture is routing of requests to the right database. The routing layer (routing table) should know the right database instance for each attribute which may be used for routing (e.g. account id, login, email, etc): it should be fast, it should fault tolerant and it should scale. All the above makes Oracle Coherence a natural choice for implementing such routing tables in partitioned architectures. This presentation will cover synchronization of the grid with multiple databases, conflict resolution, cross cluster replication and other aspects related to implementing robust partitioned architecture.


Additional Info:



- Download Past Presentations: The presentations from the previous meetings of the BACSIG are available for download here. Click on the presentation titles to download the PDF files.

- Join the Coherence online community on our Oracle Coherence Users Group on LinkedIn.

- Contact BACSIG with any comments, questions, presentation proposals and content suggestions.

Tuesday May 31, 2011

Chicago Coherence Training in July

Oracle Coherence developer training is being offered in Chicago for the first time in July. Offer through Oracle University, the class "Oracle 3.6: Share and Manage Data in Clusters" is an in-depth introduction to Oracle Coherence. The class will be offered from July 25 to July 29.

To see the course agenda, pricing info, and to register, please visit http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D66791GC10&p_org_id=28&lang=US.

You can also view our other Coherence class, "Oracle 3.6: Administer and Troubleshoot Clusters" by going to http://education.oracle.com and searching for Coherence.

Thursday Mar 31, 2011

Filebased Storage: LH or BDB?

[Read More]
About


Principal Technical Support Engineer in the Exalogic Enterprise Support Team (EEST).

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today