Tips for using Hg with (WebFOCUS) reporting? [Was: Betr: Re: Re: Fw: Betr: Re: Many missing revlogs, do we have a problem?]
Alban Hertroys
alban.hertroys at apollovredestein.com
Fri Jun 19 12:19:41 UTC 2015
Simon King <simon at simonking.org.uk> wrote on 19/06/2015 12:49:00:
> > In fact, it turns out that ALL the files that hg verify complains
about
> > are in fact there!
> >
>
> Somehow, your fncache file was rewritten with all those revlogs
> missing. I was doing some testing and I discovered that old versions
> of mercurial (I tested with 2.5.2) will rewrite the fncache file
> during "hg verify" if the revlogs are missing. This test script shows
> "hg verify" failing even after a missing revlog has been restored:
That suggests that someone here is still using an old version.
I encountered this issue while I was running 3.3 and upgraded my version
to 3.4.1 and did the same for a colleague (who hadn't been using it yet -
he's new) in the hope that it was a client-issue and not actual repository
corruption.
The only other user I could verify is away today. He was on 2.7.something;
I just upgraded him to 3.4.1 as well.
There's one other user who'se working at home today, I haven't heard back
from him yet...
> > Is there some way to recreate the fncache in an existing clone?
>
> Adrian's answer is the official one - clone the repository using "hg
> clone --pull". It is *probably* safe to take the fncache from the
> clone and put it back in the original repo.
That seems to have done the trick. All that remains are some warnings
saying "hg copy source of ... not in parents of ...", but apparently those
are harmless.
> From this and your previous emails about file locking, it seems that
> you have a *very unreliable* setup. Mercurial is pretty robust, but it
> does generally assume that the underlying filesystem is sane. If I
> were you I would be looking for ways to fix that.
Well, it's a number of Windows 7 desktops managing a single repo on a CIFS
mounted file-system that is backed by NTFS on a Windows 2008 R2 server.
That server is both our development environment and our test/acceptation
server. On top of that, the server is inside a VMWare instance. I know
nothing about what hardware that's running on, but apparently the disks
are on SAS.
Is that (very) unreliable? I would like to say yes, but even I have to
admit that Windows has become less unreliable over the years (although
it's still rather primitive compared to other OS'es; terrible
multi-tasking and terrible USB stack, to name a few).
> For example, it
> seems dangerous that your central repository is also your deployment
> repository. Could you separate those two tasks?
We tried that once, it didn't work out.
The problem is that this repo is inside a directory-tree that contains
reporting procedures (WebFOCUS), HTML pages and other files, the meta-data
for the RDBM's we connect to and a significant number of (often quite
large) de-normalized data-warehouse files. Obviously, the warehouse files
aren't part of the Hg repository, but they are needed to be able to test
(and develop) the procedures and other files and should be up-to-date.
However, we don't properly keep track of where those warehouse-files are;
most are generated by (more) reporting procedures that are scheduled in
nightly/weekly or monthly jobs.
To make matters worse, the warehouse-files are mixed in with our reporting
procedures; directories are organised after departments and tasks rather
than based on the differences in type of content. We have years of reports
in our tree, the environment dates back from when the reporting tool was
not capable of handling sub-directories.
What we tried was to create local development environments on our
desktops, but we quickly found that it was nigh impossible to have
relevant (up-to-date) warehouse files. One option was to run the scheduled
procedures on each desktop as well, but that would multiply the load on
our database servers - not desirable (big queries!). The other option was
to find a way to automatically copy the warehouse files from the reporting
server, but the way they're (not) organised makes that rather difficult.
We should probably reorganise our file hierarchy, but that's a major task.
We're a small team (4 employees, 2 of which aren't very experienced) and
we're busy with our main task of creating and maintaining reports. There
hasn't been much incentive to start this so far; especially if this Hg
issue turns out to be as temporary as I suspect it is. I'm all for
reorganising once we have some breathing room, but I think I'll have a
hard time convincing my superiors.
On the bright side, there's a whole community of Hg users here. There's
got to be some know-how here about how to organise a WebFOCUS environment
in such a way that it's easy to create local repo's and have access to
recent data-warehouse (FOCUS-)files.
Regards,
Alban.
alban.hertroys at apollovredestein.com
T:
Apollo Vredestein B.V. - P.O. Box 27 - 7500 AA Enschede - The Netherlands -
Chamber of Commerce number 34223268 - http://www.apollovredestein.com
The information contained in this e-mail is intended solely for the use of the
individual or entity to whom it is addressed and others authorized to receive
it. You are hereby notified that any disclosure, copying, distribution or
action in relation to the contents of this information is strictly prohibited.
If you are not the intended recipient, please delete this message and any
attachments and advise the sender by return e-mail. The confidentiality of this
message is not warranted. Apollo Vredestein B.V. rules out any and every
liability resulting from this or any other electronic transmission.
More information about the Mercurial
mailing list