Crafter CMS: How to stop hung publishing process? - content-management-system

In Crafter CMS, I attempted to publish changes to a document and it seems to be hung forever. Even if I shut it down and start it back up, it just gets stuck and I can't do anything with the document anymore.
I get the following error message in catalina.out every 10 seconds:
[INFO] 2017-09-22 12:51:56,847 [studioSchedulerFactoryBean_Worker-1] [job.DeployContentToEnvironmentStore] | Publishing is disabled for site mysite
I also notice in the mongod.log file, every few seconds it opens 51 connections and then a few seconds later closes them all and opens them back up again. It does this endlessly. Is that normal?
Why is publishing disabled? Is that a setting I need to change to enable it?
Is there some way to stop it so I can continue working?
Right now I am completely stuck and may resort to blowing away the whole project and starting from scratch, but this is certainly not an acceptable once I get a few more documents created, so I hope there is an alternative.
Any ideas or help you can give?

Assuming you're on 3.0.1 or 3.0.0, there is a publishing bug that's fixed in 3.0.2 development branch (not released yet, but you can build from source): https://github.com/craftercms/craftercms
If you don't want to upgrade to a development branch (understandable), a quick temporary fix is:
cd {crafterpath}/data/repos/sites/{yoursiteid}/published
git reset --hard
git pull -s recursive -Xtheirs origin master
If you have delivery nodes that are wired to this site, then you can blow away the git folder on the delivery and it'll rebuild itself (if you're seeing issues with deployment to delivery nodes). If this is live, take node out of the load-balancer first etc.
Expect the issue to come up again and for you to need to git reset/pull again until you upgrade.

Related

Google Cloud Build mysteriously wrong git hashes

I've been using Google Cloud Build with GitHub triggers without issue for a while now; all of a sudden today, something changed. Somehow the hashes that are showing up in Cloud Build do not correspond to any commits in any of my repositories...
I've tried searching for documentation, or other folks who've encountered this problem, but found nothing. I uninstalled and reinstalled the GitHub app to no avail.
Has anyone encountered this, and if so, how do you fix it?
EDIT
I found a workaround, looks like builds can be manually run
Notice in the build history, the manual run has found a real commit, whereas the build triggered by a push to GitHub is coming up with bogus commits...
Check if the issue persists (especially after you trigger a manual run and find back normal existing SHA).
There was an incident affecting Cloud Tasks scheduler jobs which might have a side-effect on your build status. Considering the incident is resolved, you should not see such an issue again.
The OP quickshiftin confirms in the comments it was more a GitHub issue than a Google Cloud one:
[It] looks like that incident was in us-central1, my servers are in us-west1.
Also, I got a response from a GitHub ticket I filed, where they said it appears to relate to changes they made "very recently" and reverted last night.
As of this morning, the build is working again (nothing changed on my side). >
Presumably the issue was from either Google or GitHub.
I don't know if it's related to this issue, git tag generates an another ref id than the commit id when created with a comment (git tag -a YOUR_TAG -m YOUR_COMMENT), so the following command results may have been displayed.
git show-ref --abbrev=7 --hash refs/tags/YOUR_TAG
or
git rev-parse --short refs/tags/YOUR_TAG

IOT Kura Installation unable to fetch from git hub repo and Repo Not Found

Currently I'm facing an issue while installing Kura using Eclipse Installer.
Attached the screenshot and log for further reference.
I hope the issue is unable to pull from git repo.
Could somebody help me out and let me know in case of any further details required.
UPDATED as on 03-09-2017
Now the issue is different attached the screenshot for your reference and when I click back the git repo is not found .
I trying to setup more than a month but still couldn't it what is the other way to explore Kura.
From this eclipse bug, this is more likely related to a network issue.
It seems the session has been dropped in making a channel connection.
|And most important: How can we avoid this?
There must be many reasons for unexpected session drops caused by
external factors, so I suggest to re-try making sessions or channels
at such a case.
If that persists, try and use https url:
git config --global url."https://".insteadOf git#
The error message seen looks like JGit issue 455005:
java.io.IOException: Could not delete file C:\path\to\repo\.git\objects\pack\pack-5cb....pack
That's a common problem on Windows systems. As soon as you open a repository and do operations which access the packfiles (nearly all git operations do that: staging view, history ...) JGit caches data from the packfiles and keeps handles to packfiles open. But as long as handles are open you cannot delete the file under windows.
On Unix systems you don't have this problem because you can unlink files on which you have open file handles. The root cause for your problem is that we delete the repo only halfways. Aftwards we have a corrupted nearly empty gitdir and that reflog doesn't work on that is only the smallest of all problems.
check if the issue persists after a reboot (to make sure there is no other process preempts the file).
If not, try deleting fully (with Eclipse closed), and try again to clone it.
See also bug 336800:
You are creating a new Git object that has a repository associated with it.
This repository is automatically opened and thus has to be closed so that file resources are released.

Github commit not working on desktop app

I am using the latest version of the github desktop app(3.0.4) on a windows 10 machine. Recently, I am not being able to make commits. When trying to commit, the app goes to "committing" mode(loading..) and then nothing happens. It does not work when I try to commit a single file also.
I wrote to the GitHub team and this is what they had to say.
It looks like you're running into an out of memory exception:
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
Unfortunately GitHub Desktop does have some edge cases that can cause an OoM -- mainly when working with a large amounts of commits or larger files. We're working on fixing performance to reduce these edges cases, but in the meantime I would try committing directly from the Git Shell:
Hit ~ to open up the repository in the Git Shell
Run 'git add -A' to stage the changes
Run 'git commit -m "your commit message here"' to commit the changes
I haven't faced the problem again after I updated the desktop app(3.0.9.0 now).
I am seeing something similar when I "push" the changes to the remote (GitHub) after I upgraded to Windows 10 it seems to hang. It is like the "GitHub Desktop" application never comes back to confirm the push, but if I close the application and then open it again I can see that the "push" did happen at the time when I pressed the Sync button.
When I use the GitBash it works fine and fast. If I had the GitHub Desktop application running while doing this push from GitBash and now do a Sync the changes show up fast in the GitHub Desktop application but it keeps "Syncing" forever.

git hub and coding processes

Ive been programming for a little while now and have built a little application which is now hosted on a dedicated server.
Now i have been rolling out different versions of my app with no real understanding on how to manage the process properly.
Is this the proper way to manage a build of an application when using a product like git hub ?
Upload my entire application onto github.
Each time i work on it, download it and install it on my dev server.
When im done working on it and it appears to be ok, do i then upload the changed files with the current project i am working on or am i meant to update the entire lot or am i mean to create a new version of the project?
once all my changes are updated, is there anyway of pushing these to a production machine from git hub or generating a listing of the newly changed files so i can update production machine easily with a checklist of some kind ?
My application has about 900 files associated with it and is stored in various folder structures and is a server based app (coldfusion to be precise) and as i work alone majority of the time, im struggling to understand how to manage the development of an app...
I also have no idea on using the command line and my desktop machine is a mac, with a VM running all my required server apps (windows server 2012, MSSQL 2012 etc)
I really want to make sure i can keep my dev process in order, but ive struggled with how to understand how to manage a server side apps development when im using a mac my dev machine is a windows machine i feel like im stuck in the middle.
You make it sound more complicated than it is.
Upload my entire application onto github.
Well, this is actually 2 steps: First, create a local git repo (git init), then push your repo up to github.
Each time i work on it, download it and install it on my dev server.
Well, you only need to "download" it once to a new dev box. After that, just git pull (or git fetch depending on workflow), which ensures any changes on the server are pulled down. Just the deltas are sent.
Git is a distributed version control system. That means every git repo has the full history of the entire project. So only deltas need to be sent. (This really helps when multiple people are hacking on a project).
When im done working on it and it appears to be ok, do i then upload the changed files with the current project i am working on or am i meant to update the entire lot or am i mean to create a new version of the project?
Hmm, you are using fuzzy terminology here. When you are done editing, you first commit locally (git add ...; git commit), then you push the changes to github (git push). Only the deltas are sent. Every commit is "a new version" if you squint.
Later on, if you want to think in terms of "software releases" (i.e. releasing "version 1.1" after many commits), you can use git tags. But don't worry about that right away.
once all my changes are updated, is there anyway of pushing these to a production machine from git hub or
generating a listing of the newly changed files so i can update production machine easily with a checklist of some kind ?
Never manually mess around with files manually on your server. The server should ONLY be allowed to run a valid, checked-out version of your software. If your production server is running random bits of code, nobody will be able to reproduce problems because they aren't in the version control system.
The super-simple way to deploy is to do a git clone on your server (one time), then git pull to update the code. So you push a change to github, then pull the change from your server.
More advanced, you will want something like capistrano that will manage the checkouts for you, and break up "checking out" from "deploying" to allow for easier rollback, etc. There may be windows-specific ways of doing that too. (Sorry, I'm a Linux guy.)

Mercurial post-build commit in MPLAB (Eclipse)

I have a question about using Mercurial with MPLAB (which is basically just a wrapper around Eclipse).
I am wondering if it is possible to add a post-build step to commit a project to the repo.
Right now, we're just doing it the brute force way; we've taken the "commit often" part to the extreme. My co-worker has setup a Windows Event to execute every 15 mins that runs a script he wrote to commit everything in our working directory to the repo. This is great for making sure you don't miss anything (when his computer is on), but has the downside of committing broken code a lot of the time.
I can't help but think that there has to be a more streamlined way to handle our commits. I've read multiple tutorials/wikis about Hg but nothing goes this specific; everything stays much more "general overview".
If you are building via make then just add your commit script as the last stage, (after elf generation), in your makefile. For managed builds see here - assuming it is available in that version and again run your existing script. Either will result in a commit on a successful build.