Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-1782

Internal materialized views are not refreshed on both nodes in a Single, Non-Multihomed, Server

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Blocker
    • None
    • 7.4.1
    • Query Engine
    • None
    • Hide

      Install EDS in production profile
      Copy profile to node1 and node2
      Copy datasources and VDB to both deploy directories
      Start both servers
      Query cluster: SELECT * FROM PartsVirtual.SupplierInfo
      Query each node: SELECT * FROM SYSADMIN.MatViews
      Note the LoadState column and Updated timestamp
      Wait a minute
      Query cluster: SELECT * FROM PartsVirtual.SupplierInfo
      Query each node: SELECT * FROM SYSADMIN.MatViews
      Note the LoadState column and Updated timestamp
      On each node CALL SYSADMIN.refreshMatView('PartsVirtual.SupplierInfo',false)
      Query each node: SELECT * FROM SYSADMIN.MatViews
      Note the LoadState column and Updated timestamp

      Show
      Install EDS in production profile Copy profile to node1 and node2 Copy datasources and VDB to both deploy directories Start both servers Query cluster: SELECT * FROM PartsVirtual.SupplierInfo Query each node: SELECT * FROM SYSADMIN.MatViews Note the LoadState column and Updated timestamp Wait a minute Query cluster: SELECT * FROM PartsVirtual.SupplierInfo Query each node: SELECT * FROM SYSADMIN.MatViews Note the LoadState column and Updated timestamp On each node CALL SYSADMIN.refreshMatView('PartsVirtual.SupplierInfo',false) Query each node: SELECT * FROM SYSADMIN.MatViews Note the LoadState column and Updated timestamp

    Description

      I have a cluster which is configured as a two-node single, non-multihomed, server. On each node (deployed as "Production" and named "node1" and "node2") I have deployed identical datasources and VDB.

      Shouldn't Materialized View management take place on all nodes in a cluster?

      The servers are started using:
      nohup ./run.sh -c node1 -g EDSPartition -b IPaddress -u 239.255.100.100 -Djboss.Domain=EDS -Djboss.jvmRoute="node1" -Djboss.messaging.ServerPeerID=1 -Djboss.service.binding.set=ports-default &>node1.out &

      nohup ./run.sh -c node2 -g EDSPartition -b IPaddress -u 239.255.100.100 -Djboss.Domain=EDS -Djboss.jvmRoute="node2" -Djboss.messaging.ServerPeerID=2 -Djboss.service.binding.set=ports-01 &>node2.out &

      I connect to the VDB using the following URL:
      mm://IPaddress:31000,IPaddress:31100

      Querying the IMV table (PartsVirtual.SupplierInfo) loads one of the nodes, but not both. I can refresh both nodes by CALLing SYSADMIN.refreshMatView on each node in the cluster.

      Additionally, the transformation being queried contains a TTL of 30 seconds which never appears to expire. (It works as expected in a non-clustered environment.)

      Attachments

        1. PartsSourceA-ds.xml
          2 kB
        2. PartsSourceB-ds.xml
          2 kB
        3. SimpleMatView.vdb
          14 kB

        Activity

          People

            rhn-engineering-rareddy Ramesh Reddy
            pnittel_jira Paul Nittel (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: