Mutations to update entity store by several versions - confused

I am slightly confused about how mutations work. We have been working in our development environments making changes to a particular entity as follows:
Version 1 - deleted a field. It was not marked as a database key. Added a deleter like this:
new Deleter(XXXXXXX.class.getName(), 0, "xxxxx")
Version 2 - added a field. It is not marked as a database key, hence incremented version number, but no mutation code.
Version 3 - deleted a filed. It is not marked as a database key. Added a deleter like this:
new Deleter(XXXXXXX.class.getName(), 2, "yyyyy")
This worked fine for multiple deployments in local development environments, but when we tried to deploy to a test environment, we got this error message when trying to initialise the database:
Caused by: com.sleepycat.persist.evolve.IncompatibleClassException: (JE 4.0.103) Mutation is missing to evolve class: com.chello.booking.model.XXXXXXX version: 0 to class: com.chello.booking.model.XXXXXXX version: 3 Error: Field is not present or not persistent: yyyyy
Mutation is missing to evolve class: com.chello.booking.model.XXXXXXX version: 1 to class: com.chello.booking.model.XXXXXXX version: 3 Error: Field is not present or not persistent: yyyyy
(Note that when upgrading an application in a replicated environment, this exception may indicate that the Master was mistakenly upgraded before this Replica could be upgraded, and the solution is to upgrade this Replica.)
     at com.sleepycat.persist.impl.PersistCatalog.init(PersistCatalog.java:440)
     at com.sleepycat.persist.impl.PersistCatalog.<init>(PersistCatalog.java:221)
     at com.sleepycat.persist.impl.Store.<init>(Store.java:186)
This is not a replicated environment. I had a read through the documentation and don't see anything that prevents us from working like this. Can anyone explain what is going on please?
Incidentally, in case it matters, this is how the mutations are handled during entity store initialisation:
storeConfig.setMutations(mutations);
storeConfig.setAllowCreate(true);
storeConfig.setTransactional(true);
EntityModel model = new AnnotationModel();
model.registerClass(XXXXXXX.class);
storeConfig.setModel(model);
entityStore = new EntityStore(......
Kind regards
James

Hi James,
Mutations must be configured to transform all old versions to the current version. So you also need:
new Deleter(XXXXXXX.class.getName(), 0, "yyyyy")
new Deleter(XXXXXXX.class.getName(), 1, "yyyyy")
I figured this out from the version numbers in the error messages. Note that there are two error messages listed in the exception. The doc explains this in a little more detail, although in very abstract way:
http://www.oracle.com/technology/documentation/berkeley-db/je/java/com/sleepycat/persist/evolve/package-summary.html
Mutations are therefore responsible for converting each existing incompatible class version to the current version as defined by a current class definition. For example, consider that class-version A-1 is initially changed to A-2 and a mutation is added for converting A-1 to A-2. If later changes in version A-3 occur before converting all A-1 instances to version A-2, the converter for A-1 will have to be changed. Instead of converting from A-1 to A-2 it will need to convert from A-1 to A-3. In addition, a mutation converting A-2 to A-3 will be needed.When you say this:
This worked fine for multiple deployments in local development environments, but when we tried to deploy to a test environment, we got this error message when trying to initialise the database:I worry that you're evolving your environment separately on different machines. This won't work. I'm not sure exactly what happened, but if you add mutations and create multiple new versions in a development environment, that sequence of steps won't work for the deployed environment that hasn't gone through the same sequence of steps. Perhaps something like this is what happened.
--mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Similar Messages

  • Several versions of Adobe programmes

    When I install updates, my computer has several versions of each programme.
    E.g.
    Adobe Photoshop CC (2014)
    Adobe Photoshop CC
    Adobe Photoshop CC (64 bit)  Why is that?
    Can I delete some versions to gain more space on my computer?

    kia,
    Great question that I was about to ask myself.
    John

  • Updated my iPhone 5 to ios7, in the App store after installing updates I now have a never ending list of the Apps I've updated.  How do I get rid of the list after they've been updated?  In the previous version I did not have an annoying permanent list.

    Updated my iPhone 5 to ios7, in the App store after installing updates I now have a never ending list of the Apps I've updated.  How do I get rid of the list after they've been updated?  In the previous version I did not have an annoying permanent list.

    iOS 7 allows you to have your apps update automatically. Therefore, the list of what has been updated stays so that you can see what was updated, when and what the release notes say. It has been suggested that they list has a limit, much like Recents. Currently, there is no way for the user to delete the entries manually. Just try not to look at them.

  • I have App Store 1.0. MacUpdate Desktop tells me there is a new version 1.0.1. How do I update App Store. MU only takes me directly to App Store. Not much help there, as I don't find how to update the App Store itself. Please write me at guki@broadpark.no

    I have App Store 1.0. MacUpdate Desktop tells me there is a new version 1.0.1. How do I update App Store. Mac Update only takes me directly to App Store. Not much help in that, as I don't find how to update the App Store itself.
    Regards
    Guttorm Kittelsen
    <Edited by Host>

    Thank you for your advice.
    Actually, I am aware that the upgrade is implemented in 10.6.7. However, up until now I haven't been able to upgrade to Mac OS X 10.6.7, as I have software that is not yet compatible. So I wondered how to do it within 10.6.6? May be it is not possible? Anyway, this gave me a push to track the software I use for compatibility, and I found that an update for 10.6.7 now is ready for download, so then I will probably solve two issues at the same time. Takes a little work though. Thank you again for your advice.

  • Using Mail, why are several versions of sent messages ending up in Trash?

    Bought the Pro a month or so ago and recently has an operating system update to 10.9.2.  Am using Mail to pick up mail from Server - and all appears to be working fine.  But, when I send a message, several versions of it and appearing in Trash.  A copy does go into Sent Items and th emessages are getting to addressees - but why are several versions of messages appearing in Trash.
    The versions appear to be at different levels of 'editing' - just very strange an dnever seen it before.
    Any ideas please
    Tony

    The only thing I can find in the preferences that refers to drafts is this:
    Perhaps untick Store draft messages on the server. But I'm not sure if that will definately work or not. Either way, it's shouldn't be too much of an issue.

  • I've updated to the most recent version of iTunes and I can no longer see any of my old music on my mac.  All the music is still available on my ipad.  How can i download the music on my mac?

    I've updated to the most recent version of iTunes and I can no longer see any of my old music on my mac.  All the music is still available on my ipad.  How can i download the music on my mac?

    First, are you positive it is really not there?  Have you looked in your iTunes folder in your Music folder, and in the media folders there? Do you see your media files?
    If your media are gone it is a lot easier to restore from a proper computer backup.  Your i-device was not designed for unique storage of your media. It is not a backup device and media transfer was planned with you maintaining a master copy of your media on a computer which is itself properly backed up against loss. Syncing is one way, computer to device, updating the device content to the content on the computer, not updating or restoring content on a computer. The exception is iTunes Store purchases which can be transferred to a computer.
    iTunes Store: Transferring purchases from your iOS device or iPod to a computer - http://support.apple.com/kb/HT1848 - only purchases from iTunes Store
    For transferring other items from an i-device to a computer you will have to use third party commercial software.  See this document by turingtest2: Recovering your iTunes library from your iPod or iOS device - https://discussions.apple.com/docs/DOC-3991

  • I have 2 ipod touch's that both have frozen screens and will not reset or show up in itunes. They both froze after trying to update to the latest software version. How do I get them to work?

    I have 2 touch's that froze when trying to update to the latest ios version. Neither respond to restarting the devices. They are also not recognized in windows or itunes. How do I get these to work. I followed all of the instructions on  the apple website and they still don't work. I have verified that I have apple support for mobile devices installed in itunes and my version of itunes is 11.0.1. I am running windows 7 64bit with service pack 1 installed and all of my updates are current. Is anybody else having this problem with their apple devices?

    Try:
    - iOS: Not responding or does not turn on
    - Also try DFU mode after try recovery mode
    How to put iPod touch / iPhone into DFU mode « Karthik's scribblings
    - If not successful and you can't fully turn the iOS device fully off, let the battery fully drain. After charging for an least an hour try the above again.
    - If still not successful that usually indicates a hardware problem and an appointment at the Genius Bar of an Apple store is in order.

  • How to change the default JRE when there are several version of JRE in Sys

    How to change the default JRE when there are several version of JRE in System?
    i have installed j2sdk1.5.0 then installed j2ee1.4,then installed Weblogic6.1 which use jdk1.3
    Now the JRE is jdk1.3\bin
    When run class that was compiled with jdk1.5,throw:
    java.lang.UnsupportedClassVersionError
    How can i change the jre to 1.5?

    There is a workaround to move from 1.5 version to the older 1.4 version. But this could be specific to the browser setting the JRE version.
    Excerpts from sun docs:
    However, a user can still run older versions. To do so, launch the Java Plug-in Control Panel for the older version, then (re)select the browser in the Browser tab.
    Example:
    Assume you are running on Microsoft Windows with Microsoft Internet Explorer, have first installed version 1.4.2, then version 5.0, and you want to run 1.4.2.
    Go to the j2re1.4.2\bin directory where JRE 1.4.2 was installed. On a Windows default installation, this would be here: C:\Program Files\Java\j2re1.4.2\bin
    Double-click the jpicpl32.exe file located there. It will launch the control panel for 1.4.2.
    Select the Browser tab. Microsoft Internet Explorer might still appear to be set (checked). However, when 5.0 was installed, the registration of the 1.4.2 JRE with Internet Explorer was overwritten by the 5.0 JRE.
    If Microsoft Internet Explorer is shown as checked, uncheck it and click Apply. You will see a confirmation dialog stating that browser settings have changed.
    Check Microsoft Internet Explorer and click Apply. You should see a confirmation dialog.
    Restart the browser. It should now use the 1.4.2 JRE for conventional APPLET tags.
    Details are here
    http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/jcp.html
    My system (Windows XP) has the version 1.5_09 set as the default. However i just installed JRE 1.5_06 and would like to revert back to _06 as the default JRE..
    Will update if i find more information

  • I have a mac pro with OS X 10.5.8., I have a mac pro with OS X 10.5.8.  How do I update to a more advanced version of OS X with a download?

    I have a mac pro with OS X 10.5.8., I have a mac pro with OS X 10.5.8.  How do I update to a more advanced version of OS X with a download?

    You need to go through 10.6.3 and 10.6.8 to get to 10.7 or 10.8. If you find that 10.6.8 isn't enough, open the Mac App Store and try purchasing Mountain Lion 10.8. If you get told it's incompatible, choose About this Mac from the Apple menu, check if the computer has at least a Core 2 Duo(not Core Duo) or better CPU with at least 2GB of RAM, and if it does, phone the online Apple Store and order a download code for Lion 10.7.
    (85026)

  • ...desperating trying to install itunes 10.7, but it asked me to install Mac OS X 10.6.8.  I did, but then it said that I needed to install Java for Mac OS x 10.6.  I did that and now it keeps saying 'this update requires Mac OS X version 10.6??

    ....desperating trying to install itunes 10.7, but it asked me to install Mac OS X 10.6.8.  I did, but then it said that I needed to install Java for Mac OS x 10.6.  I did that and now it keeps saying 'this update requires Mac OS X version 10.6??

    Upgrading to Snow Leopard
    You must purchase Snow Leopard through the Apple Store: Mac OS X 10.6 Snow Leopard - Apple Store (U.S.). The price is $19.99 plus tax. You will be sent physical media by mail after placing your order.
    After you install Snow Leopard you will have to download and install the Mac OS X 10.6.8 Update Combo v1.1 to update Snow Leopard to 10.6.8 and give you access to the App Store. Access to the App Store enables you to download Mountain Lion if your computer meets the requirements.
         Snow Leopard General Requirements
           1. Mac computer with an Intel processor
           2. 1GB of memory
           3. 5GB of available disk space
           4. DVD drive for installation
           5. Some features require a compatible Internet service provider;
               fees may apply.
           6. Some features require Apple’s MobileMe service; fees and
               terms apply.
    Actually, you cannot download Snow Leopard. You downloaded a Snow Leopard updater.

  • TS3694 i am trying to update my iphone 4 from version 4.3.3 to version 6.1.3. it stops at "unknown error #3194". please help me. what do i need to do now?

    please help me update my iphone 4 from version 4.3.3 to version 6.x.x. i am having problems completing the update. it stops and says "unknown error # 3194".

    Unable to contact the iOS software update server gs.apple.com
    Error 1004, 1013, 1638, 3014, 3194: These errors may be the result of the connection to gs.apple.com being redirected or blocked. Follow these steps to resolve these errors:
    Install the latest version of iTunes.
    Check security software. Ensure that communication to gs.apple.com is allowed. Follow this article for assistance with security software. iTunes for Windows: Troubleshooting security software issues.
    Check the hosts file. The restore will fail if there is an active entry to redirect gs.apple.com. Follow iTunes: Advanced iTunes Store troubleshooting to edit the hosts file or revert to a default hosts file. See section "Blocked by configuration: (Mac OS X/Windows) > Rebuild network information".
    Try to restore from another known-good computer and network.
    If the errors persist on another computer, the device may need service.

  • I have a laptop mac 3 years old i did not pay the extend warranty plan, so know i can't update the iPhone 5 because thai do not accepted a update for iTunes the new version what i have to do call to apple or make repair

    i have a laptop mac 3 years old i did not pay the extend warranty plan, so know i can't update the iPhone 5 because thai do not accepted a update for iTunes the new version what i have to do call to apple or make repair

    You need to be running Mac OS X 10.6.8 or newer to sync the iPhone 5; this may require buying a Mac OS X 10.6 DVD from the online Apple Store. OS upgrades aren't covered by the warranty.
    (77198)

  • HT4097 My ipad and mini pad won't update though it says several apps are in need of update. Please help!

    My ipad and mini pad won't update though it says several apps are in need of updates. Please help!

    Try updating from here:
    App Store>Purchased
    Note: You'll have to look out for apps that need update.

  • Update iMovie - Store wants to download full app, not an update package

    I want to update iMove from 9.0.1 (purchased via the App Store) to 9.0.2 (because we are getting an audio sync problem on exported movies for which this update says it has a fix). From the web update page I downloaded the iMoview9.0.2Update.pkg and got a 27.5MB file but, on running it, it says I have to update via the App Store. But the App Store wants billing information and then starts to download a 500MB+ file which is presumably the full application so I immediately stopped the download because I am in a remote area on a low-speed satellite connection with a 3GB monthly limit.
    Am I stuck with downloading the full 500MB+ file by going through the App Store? Was I about to be charged for the app again?
    Thanks - Cathy.

    It appears from my recent experience that updates are a full new version of the app in question. So after it verifies your account as the one who "owns" the license to use the app, it will not recharge you for the app, but will then allow its download. This is good for you because it means no one in your household can be willy nilly using your download allotment without your knowledge to update apps if they do not have access to your iTunes/MAS account information.
    You may want to check the size of installed apps before proceeding with the update so as to stay within your download allotment in a given ISP billing period.
    Dah•veed

  • After downloading latest quicktime update, itunes store will not load

    Has anyone had this same problem after downloading latest quicktime update. iTunes store will not load.

    This happened to me today as well post installing the latest version of itunes.   I did a search on google for the error and came across a recommendation to :
    Note: Start Windows in Safe Mode to complete any of the following steps if you're unable to access Windows normally due to the msvcr80.dll error.
    If, and only if, you're receiving the msvcr80.dll is missing error when you open Apple iTunes, do the following: (skip this step if your msvcr80.dll error is occurring with a different program)
    Uninstall from Windows the following five programs in this order: iTunes, Apple Software Update, Apple Mobile Device Support, Bonjour, and finally Apple Application Support. If you have iCloud, remove it as well.
    Uninstalling these programs in Windows is done from an applet in Control Panel called Programs & Features (in Windows 8, 7, or Vista) or Add or Remove Programs (in Windows XP).
    Note: Songs and playlists in iTunes will not be removed when you uninstall the iTunes program or any of the other, already-mentioned Apple programs. If you'd still like to back them up, they're usually located in the My Music folder in Windows.
    Download the latest version of iTunes from Appleand note the location you're saving it to so you can find it once it's done.
    Run the iTunes installation as an administrator. If you're not sure how to do that, see How Do I Open an Elevated Command Prompt? for help. That procedure shows you how to open the Command Prompt program as an administrator, but the steps are essentially the same for anything, including the iTunes installation package you just downloaded.
    A general overview of removing and reinstalling iTunes can also be found here on Apple's site but the above procedure seems to work better in this particular situation.

Maybe you are looking for

  • Need help on making desktop application to web application having individual controls for users at the same time

    Hi, I have an desktop application and the following are the functionalities of the same. 1. User inputs the data file with path (log file) to parse the required data. 2. Once the user enters the path and starts the tool with start button, the tool pa

  • Problem using Medium widget from Musegrid

    Hi, I have installed the newest version of the Medium widget from Musegrid. The problem is that the button SHOW/HIDE only appear and when clicked nothing happen. This is a test link I made: www.prufa.nordicprinting.com Any ideas what is done wrong or

  • Can I install boot camp on a machine with a Software Raid-0?

    I have a machine with a software Raid-0 running Snow Leopard. I'd like to install Boot Camp but I only have 2 SATA hard drives. Windows does not need to run in a RAID on this machine and I'm fine partitioning both drives so that I have a 30GB Windows

  • Help with Recovery and Time machine

    So a friend of mine sent me her laptop to change hard drives.  She also sent her Time machine external HDD.  I used her drive as a recovery disc using the Lion recovery tool.  I didnt see or didnt read any where that stated the drive would be unusabl

  • Best way to do a 4:3 pan & scan in terms of resolution?

    Brethren, I need to deliver a broadcast quality version of my project in 4:3 pan-and-scan. The project is made up of five 20 minute long pieces, usually holding about 1 or 2 layers of video, sometimes 3 or 4. I've read a few other threads on this top