Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-5253

Profile update via git results in CheckoutConflictException

XMLWordPrintable

    • % %
    • Workaround Exists
    • Hide

      Manual user intervention to clean up the fabric git repo via shell git cli.

      Show
      Manual user intervention to clean up the fabric git repo via shell git cli.
    • Hide

      Not yet determined, but profile updates seem to be required.

      Show
      Not yet determined, but profile updates seem to be required.
    • Sprint 5 - towards ER2

      During profile update when said update is pushed out and later gets used in rare occasion's the push/pull results in a git conflict. Manually intervening with shell git commands in the fabric git repo on each machine in question allows the end user to clean things up and restore normal operation of the fabric.

      The exception is of the form:

      io.fabric8.api.FabricException: org.eclipse.jgit.api.errors.CheckoutConflictException: Checkout conflict with files:

      Sanitized logging:

      2016-03-24 09:47:04,591 | INFO  | Thread-249       | Profiles                         | 76 - io.fabric8.fabric-api - 1.2.0.redhat-133 | refreshProfile: Profile[ver=1.0,id=myProfileID,atts={}]
      2016-03-25 09:47:04,592 | INFO  | Thread-249       | ProfileServiceImpl               | 77 - io.fabric8.fabric-core - 1.2.0.redhat-133 | updateProfile: Profile[ver=1.0,id=myProfileID,atts={}]
      2016-03-25 09:47:05,498 | INFO  | Thread-249       | DefaultPullPushPolicy            | 79 - io.fabric8.fabric-git - 1.2.0.redhat-133 | Pushing last change to: http://10.1.1.118:8181/git/fabric/
      2016-03-25 09:47:05,577 | INFO  | Thread-249       | DefaultPullPushPolicy            | 79 - io.fabric8.fabric-git - 1.2.0.redhat-133 | Push result: [accepted=2,rejected=0,error=null]
      2016-03-25 09:47:07,588 | INFO  | pool-68-thread-1 | DefaultPullPushPolicy            | 79 - io.fabric8.fabric-git - 1.2.0.redhat-133 | Performing a pull on remote URL: http://10.1.1.118:8181/git/fabric/
      2016-03-25 09:47:07,795 | INFO  | pool-68-thread-1 | DefaultPullPushPolicy            | 79 - io.fabric8.fabric-git - 1.2.0.redhat-133 | Pull result: [localUpdate=false,remoteUpdate=false,versions=[1.0, master],error=null]
      2016-03-25 09:50:53,707 | INFO  | 2]-nio2-thread-1 | ClientSessionImpl                | 58 - org.apache.sshd.core - 0.12.0.redhat-002 | Client session created
      2016-03-25 09:50:53,709 | INFO  | 2]-nio2-thread-1 | ClientSessionImpl                | 58 - org.apache.sshd.core - 0.12.0.redhat-002 | Server version string: SSH-2.0-SSHD-CORE-0.12.0.REDHAT-002
      2016-03-25 09:50:53,709 | INFO  | 2]-nio2-thread-1 | ClientSessionImpl                | 58 - org.apache.sshd.core - 0.12.0.redhat-002 | Kex: server->client aes128-ctr hmac-sha1 none
      2016-03-25 09:50:53,709 | INFO  | 2]-nio2-thread-1 | ClientSessionImpl                | 58 - org.apache.sshd.core - 0.12.0.redhat-002 | Kex: client->server aes128-ctr hmac-sha1 none
      2016-03-25 09:50:54,754 | WARN  | 2]-nio2-thread-3 | AcceptAllServerKeyVerifier       | 58 - org.apache.sshd.core - 0.12.0.redhat-002 | Server at fusefab1-oam.iot.mybox.ca/10.202.41.179:8104 presented unverified DSA key: 
      2016-03-25 10:00:10,880 | INFO  | Thread-249       | LogoutAction                     | 34 - org.apache.karaf.shell.console - 2.4.0.redhat-620133 | Disconnecting from current session...
      2016-03-25 10:00:17,624 | INFO  | a]-nio2-thread-3 | ServerSession                    | 58 - org.apache.sshd.core - 0.12.0.redhat-002 | Server session created from /0:0:0:0:0:0:0:1:42819
      2016-03-25 10:00:17,643 | INFO  | a]-nio2-thread-2 | ServerSession                    | 58 - org.apache.sshd.core - 0.12.0.redhat-002 | Kex: server->client aes128-ctr hmac-sha1 none
      2016-03-25 10:00:17,643 | INFO  | a]-nio2-thread-2 | ServerSession                    | 58 - org.apache.sshd.core - 0.12.0.redhat-002 | Kex: client->server aes128-ctr hmac-sha1 none
      2016-03-25 10:00:17,720 | INFO  | a]-nio2-thread-3 | ServerUserAuthService            | 58 - org.apache.sshd.core - 0.12.0.redhat-002 | Session admin@/0:0:0:0:0:0:0:1:42819 authenticated
      2016-03-25 10:01:36,958 | INFO  | Thread-266       | ProfileServiceImpl               | 77 - io.fabric8.fabric-core - 1.2.0.redhat-133 | createProfile: Profile[ver=1.0,id=myyProfileID,atts={}]
      2016-03-25 10:01:37,842 | INFO  | Thread-266       | DefaultPullPushPolicy            | 79 - io.fabric8.fabric-git - 1.2.0.redhat-133 | Pushing last change to: http://10.1.1.118:8181/git/fabric/
      2016-03-25 10:01:37,916 | INFO  | Thread-266       | DefaultPullPushPolicy            | 79 - io.fabric8.fabric-git - 1.2.0.redhat-133 | Push result: [accepted=2,rejected=0,error=null]
      2016-03-25 10:01:39,526 | INFO  | pool-68-thread-1 | DefaultPullPushPolicy            | 79 - io.fabric8.fabric-git - 1.2.0.redhat-133 | Performing a pull on remote URL: http://10.1.1.118:8181/git/fabric/
      2016-03-25 10:01:39,739 | INFO  | pool-68-thread-1 | DefaultPullPushPolicy            | 79 - io.fabric8.fabric-git - 1.2.0.redhat-133 | Pull result: [localUpdate=false,remoteUpdate=false,versions=[1.0, master],error=null]
      2016-03-25 10:03:58,516 | INFO  | 5]-nio2-thread-1 | ClientSessionImpl                | 58 - org.apache.sshd.core - 0.12.0.redhat-002 | Client session created
      2016-03-25 10:03:58,519 | INFO  | 5]-nio2-thread-1 | ClientSessionImpl                | 58 - org.apache.sshd.core - 0.12.0.redhat-002 | Server version string: SSH-2.0-SSHD-CORE-0.12.0.REDHAT-002
      2016-03-25 10:03:58,519 | INFO  | 5]-nio2-thread-1 | ClientSessionImpl                | 58 - org.apache.sshd.core - 0.12.0.redhat-002 | Kex: server->client aes128-ctr hmac-sha1 none
      2016-03-25 10:03:58,519 | INFO  | 5]-nio2-thread-1 | ClientSessionImpl                | 58 - org.apache.sshd.core - 0.12.0.redhat-002 | Kex: client->server aes128-ctr hmac-sha1 none
      2016-03-25 10:03:59,438 | WARN  | 5]-nio2-thread-3 | AcceptAllServerKeyVerifier       | 58 - org.apache.sshd.core - 0.12.0.redhat-002 | Server at fusefab1-oam.iot.mybox.ca/10.2.1.179:8104 presented unverified DSA key:
      2016-03-25 10:11:52,128 | INFO  | Thread-266       | ProfileServiceImpl               | 77 - io.fabric8.fabric-core - 1.2.0.redhat-133 | updateProfile: Profile[ver=1.0,id=myProfileID,atts={}]
      2016-03-25 10:11:52,901 | INFO  | Thread-266       | DefaultPullPushPolicy            | 79 - io.fabric8.fabric-git - 1.2.0.redhat-133 | Pushing last change to: http://10.1.1.118:8181/git/fabric/
      2016-03-25 10:11:52,986 | INFO  | Thread-266       | DefaultPullPushPolicy            | 79 - io.fabric8.fabric-git - 1.2.0.redhat-133 | Push result: [accepted=2,rejected=0,error=null]
      2016-03-25 10:11:54,624 | INFO  | pool-68-thread-1 | DefaultPullPushPolicy            | 79 - io.fabric8.fabric-git - 1.2.0.redhat-133 | Performing a pull on remote URL: http://10.1.1.118:8181/git/fabric/
      2016-03-25 10:11:54,813 | INFO  | pool-68-thread-1 | DefaultPullPushPolicy            | 79 - io.fabric8.fabric-git - 1.2.0.redhat-133 | Pull result: [localUpdate=false,remoteUpdate=false,versions=[1.0, master],error=null]
      2016-03-25 10:24:13,444 | INFO  | Thread-266       | Profiles                         | 76 - io.fabric8.fabric-api - 1.2.0.redhat-133 | refreshProfile: Profile[ver=1.0,id=myProfileID,atts={}]
      2016-03-25 10:24:13,446 | INFO  | Thread-266       | ProfileServiceImpl               | 77 - io.fabric8.fabric-core - 1.2.0.redhat-133 | updateProfile: Profile[ver=1.0,id=myProfileID,atts={}]
      2016-03-25 10:24:13,474 | ERROR | Thread-266       | Console                          | 34 - org.apache.karaf.shell.console - 2.4.0.redhat-620133 | Exception caught while executing command
      io.fabric8.api.FabricException: org.eclipse.jgit.api.errors.CheckoutConflictException: Checkout conflict with files:
      fabric/profiles/fabric/ensemble/0000.profile/io.fabric8.agent.properties
      fabric/profiles/fabric/ensemble/0000.profile/io.fabric8.zookeeper.server-0000.properties
      fabric/profiles/fabric/ensemble/0000/1.profile/io.fabric8.agent.properties
      fabric/profiles/fabric/ensemble/0000/1.profile/io.fabric8.zookeeper.server-0000.properties
      fabric/profiles/fabric/ensemble/0001.profile/io.fabric8.agent.properties
      fabric/profiles/fabric/ensemble/0001.profile/io.fabric8.zookeeper.server-0001.properties
      fabric/profiles/fabric/ensemble/0001/1.profile/io.fabric8.agent.properties
      fabric/profiles/fabric/ensemble/0001/1.profile/io.fabric8.zookeeper.server-0001.properties
      fabric/profiles/fabric/ensemble/0001/2.profile/io.fabric8.agent.properties
      fabric/profiles/fabric/ensemble/0001/2.profile/io.fabric8.zookeeper.server-0001.properties
      fabric/profiles/fabric/ensemble/0001/3.profile/io.fabric8.agent.properties
      fabric/profiles/fabric/ensemble/0001/3.profile/io.fabric8.zookeeper.server-0001.properties
          at io.fabric8.api.FabricException.launderThrowable(FabricException.java:43)
          at io.fabric8.git.internal.GitDataStoreImpl.executeInternal(GitDataStoreImpl.java:1015)
          at io.fabric8.git.internal.GitDataStoreImpl.updateProfile(GitDataStoreImpl.java:709)
          at io.fabric8.git.internal.GitDataStoreImpl.updateProfile(GitDataStoreImpl.java:687)
          at io.fabric8.internal.ProfileServiceImpl.updateProfile(ProfileServiceImpl.java:152)
          at io.fabric8.internal.ProfileServiceImpl.updateProfile(ProfileServiceImpl.java:145)
          at io.fabric8.api.Profiles.refreshProfile(Profiles.java:438)
          at io.fabric8.commands.ProfileRefreshAction.doExecute(ProfileRefreshAction.java:51)
          at org.apache.karaf.shell.console.AbstractAction.execute(AbstractAction.java:33)
          at org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)
          at sun.reflect.GeneratedMethodAccessor124.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_71]
          at java.lang.reflect.Method.invoke(Method.java:497)[:1.8.0_71]
          at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
          at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
          at io.fabric8.commands.$ProfileRefresh1210523885.execute(Unknown Source)
          at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)[34:org.apache.karaf.shell.console:2.4.0.redhat-620133]
          at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477)[34:org.apache.karaf.shell.console:2.4.0.redhat-620133]
          at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403)[34:org.apache.karaf.shell.console:2.4.0.redhat-620133]
          at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[34:org.apache.karaf.shell.console:2.4.0.redhat-620133]
          at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)[34:org.apache.karaf.shell.console:2.4.0.redhat-620133]
          at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)[34:org.apache.karaf.shell.console:2.4.0.redhat-620133]
          at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:92)
       

      Note that the typo in profile id's 'myProfileID' vs. 'myyProfileID' reflects an original typo in profile ids pre-sanitization.

            ggrzybek Grzegorz Grzybek
            rhn-support-rkieley Roderick Kieley
            Votes:
            1 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved: