TTL specified in put operation doesn't always work when using write-behind

I'm using a distributed cache with a write-behind cache store (see the config below). I found that when I do something like myCache.put(key, value, ttl), the entry survives the specified ttl. I tried doing the same with a distributed cache with a write-through cachestore and there everything does happen correctly.
Is this sort of operation not permitted in caches containing a write-behind cachestore? If not wouldn't it be better to throw an UnsupportedOperationException.
I created a small test to simulate this. I added values to the cache with a TTL of 1 to 10 seconds and found that the 10 second entries stayed in the cache.
Configuration used:
<?xml version="1.0"?>
<!DOCTYPE cache-config SYSTEM "cache-config.dtd">
<cache-config>
     <caching-scheme-mapping>
          <cache-mapping>
               <cache-name>TTL_TEST</cache-name>
               <scheme-name>testScheme</scheme-name>
          </cache-mapping>
     </caching-scheme-mapping>
     <caching-schemes>
          <distributed-scheme>
               <scheme-name>testScheme</scheme-name>
               <service-name>testService</service-name>
               <backing-map-scheme>
                    <read-write-backing-map-scheme>
                         <internal-cache-scheme>
                              <local-scheme>
                                   <service-name>testBackLocalService</service-name>
                              </local-scheme>
                         </internal-cache-scheme>
                         <cachestore-scheme>
                              <class-scheme>
                                   <scheme-name>testBackStore</scheme-name>
                                   <class-name>TTLTestServer$TestCacheStore</class-name>
                              </class-scheme>
                         </cachestore-scheme>
                         <write-delay>3s</write-delay>
                    </read-write-backing-map-scheme>
               </backing-map-scheme>
               <local-storage>true</local-storage>
               <autostart>true</autostart>
          </distributed-scheme>
     </caching-schemes>
</cache-config>Code of test:
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import org.joda.time.DateTime;
import org.joda.time.Duration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.StopWatch;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import com.google.common.collect.Lists;
import com.tangosol.net.CacheFactory;
import com.tangosol.net.NamedCache;
import com.tangosol.net.cache.CacheStore;
@Test
public class TTLTestServer
     private static final int RETRIES = 5;
     private static final Logger logger = LoggerFactory.getLogger( TTLTestServer.class );
     private NamedCache m_cache;
      * List of Time-To-Lives in seconds to check
     private final List<Integer> m_listOfTTLs = Lists.newArrayList(1, 3, 5, 10);
      * Test is done in separate threads to speed up the test
     private final  ExecutorService m_executorService = Executors.newCachedThreadPool();
     @BeforeClass
     public void setup()
          logger.info("Getting the cache");
          m_cache =  CacheFactory.getCache("TTL_TEST");
     public static class TestCacheStore implements CacheStore
          public void erase(Object arg0)
          public void eraseAll(Collection arg0)
          public void store(Object arg0, Object arg1)
          public void storeAll(Map arg0)
          public Object load(Object arg0)
          {return null;}
          public Map loadAll(Collection arg0)
          {return null;}
     public void testTTL() throws InterruptedException, ExecutionException
          logger.info("Starting TTL test");
          List<Future<StopWatch>> futures = Lists.newArrayList();
          for (final Integer ttl : m_listOfTTLs)
               futures.add(m_executorService.submit(new Callable()
                    public Object call() throws Exception
                         StopWatch stopWatch= new StopWatch("TTL=" + ttl);
                         for (int retry = 0; retry < RETRIES; retry++)
                              logger.info("Adding a value in cache for TTL={} in try={}", ttl, retry+1);
                              stopWatch.start("Retry="+retry);
                              m_cache.put(ttl, null, ttl*1000);
                              waitUntilNotInCacheAnymore(ttl, retry);
                              stopWatch.stop();
                         return stopWatch;
                    private void waitUntilNotInCacheAnymore(final Integer ttl, final int currentTry) throws InterruptedException
                         DateTime startTime = new DateTime();
                         long maxMillisToWait = ttl*2*1000;     //wait max 2 times the time of the ttl
                         while(m_cache.containsKey(ttl) )
                              Duration timeTaken = new Duration(startTime, new DateTime());
                              if(timeTaken.getMillis() > maxMillisToWait)
                                   throw new RuntimeException("Already waiting " + timeTaken + " for ttl=" + ttl + " and retry=" +  currentTry);
                              Thread.sleep(1000);
          logger.info("Waiting until all futures are finished");
          m_executorService.shutdown();
          logger.info("Getting results from futures");
          for (Future<StopWatch> future : futures)
               StopWatch sw = future.get();
               logger.info(sw.prettyPrint());
}Failure message:
FAILED: testTTL
java.util.concurrent.ExecutionException: java.lang.RuntimeException: Already waiting PT20.031S for ttl=10 and retry=0
     at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
     at java.util.concurrent.FutureTask.get(Unknown Source)
     at TTLTestServer.testTTL(TTLTestServer.java:159)
Caused by: java.lang.RuntimeException: Already waiting PT20.031S for ttl=10 and retry=0
     at TTLTestServer$1.waitUntilNotInCacheAnymore(TTLTestServer.java:139)
     at TTLTestServer$1.call(TTLTestServer.java:122)
     at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
     at java.util.concurrent.FutureTask.run(Unknown Source)
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
     at java.lang.Thread.run(Unknown Source)I'm using Coherence 3.4.2.
Best regards
Jan

Hi, still no luck. However, I noticed that setting the write-delay value of the write-behind store to 0s or 1s, solved the problem. It only starts to given me "the node has already been removed" excpetions once the write-delay value is 2s or higher.
You can find the coherence-cache-config.xml below:
<?xml version="1.0"?>
<!DOCTYPE cache-config SYSTEM "cache-config.dtd">
<cache-config>
     <caching-scheme-mapping>
          <cache-mapping>
               <cache-name>TTL_TEST</cache-name>
               <scheme-name>testScheme</scheme-name>
          </cache-mapping>
     </caching-scheme-mapping>
     <caching-schemes>
          <distributed-scheme>
               <scheme-name>testScheme</scheme-name>
               <service-name>testService</service-name>
               <backing-map-scheme>
                    <read-write-backing-map-scheme>
                         <internal-cache-scheme>
                              <local-scheme>
                                   <service-name>testBackLocalService</service-name>
                              </local-scheme>
                         </internal-cache-scheme>
                         <cachestore-scheme>
                              <class-scheme>
                                   <scheme-name>testBackStore</scheme-name>
                                   <class-name>TTLTestServer$TestCacheStore</class-name>
                              </class-scheme>
                         </cachestore-scheme>
                         <write-delay>2s</write-delay>
                    </read-write-backing-map-scheme>
               </backing-map-scheme>
               <local-storage>true</local-storage>
               <autostart>true</autostart>
          </distributed-scheme>
     </caching-schemes>
</cache-config>You can find the test program below:
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import org.joda.time.DateTime;
import org.joda.time.Duration;
import org.springframework.util.StopWatch;
import com.tangosol.net.CacheFactory;
import com.tangosol.net.NamedCache;
import com.tangosol.net.cache.CacheStore;
public class TTLTestServer
     private static final int RETRIES = 5;
     private NamedCache m_cache;
      * List of Time-To-Lives in seconds to check
     private final List<Integer> m_listOfTTLs = new ArrayList<Integer>();
      * @param args
      * @throws Exception
     public static void main( String[] args ) throws Exception
          new TTLTestServer().test();
      * Empty CacheStore
      * @author jbe
     public static class TestCacheStore implements CacheStore
          public void erase(Object arg0)
          @SuppressWarnings ( "unchecked" )
          public void eraseAll(Collection arg0)
          public void store(Object arg0, Object arg1)
          @SuppressWarnings ( "unchecked" )
          public void storeAll(Map arg0)
          public Object load(Object arg0)
          {return null;}
          @SuppressWarnings ( "unchecked" )
          public Map loadAll(Collection arg0)
          {return null;}
      * Sets up and executes the test setting values in a cache with a given time-to-live value and waiting for the value to disappear.
      * @throws Exception
     private void test() throws Exception
          System.out.println(new DateTime() + " - Setting up TTL test");
          m_cache =  CacheFactory.getCache("TTL_TEST");
          m_listOfTTLs.add( 1 );
          m_listOfTTLs.add( 3 );
          m_listOfTTLs.add( 5 );
          m_listOfTTLs.add( 10);
          System.out.println(new DateTime() + " - Starting TTL test");
          for (final Integer ttl : m_listOfTTLs)
               StopWatch sw = doTest(ttl);
               System.out.println(sw.prettyPrint());
      * Adds a value to the cache with the time-to-live as given by the ttl parameter and waits until it's removed from the cache.
      * Repeats this {@link #RETRIES} times
      * @param ttl
      * @return
      * @throws Exception
     private StopWatch doTest(Integer ttl) throws Exception
          StopWatch stopWatch= new StopWatch("TTL=" + ttl);
          for (int retry = 0; retry < RETRIES; retry++)
               System.out.println(new DateTime() + " - Adding a value in cache for TTL=" + ttl + " in try= " + (retry+1));
               stopWatch.start("Retry="+retry);
               m_cache.put(ttl, null, ttl*1000);
               waitUntilNotInCacheAnymore(ttl, retry);
               stopWatch.stop();
          return stopWatch;
      * Wait until the value for the given ttl is not in the cache anymore
      * @param ttl
      * @param currentTry
      * @throws InterruptedException
     private void waitUntilNotInCacheAnymore(final Integer ttl, final int currentTry) throws InterruptedException
          DateTime startTime = new DateTime();
          long maxMillisToWait = ttl*2*1000;     //wait max 2 times the time of the ttl
          while(m_cache.containsKey(ttl) )
               Duration timeTaken = new Duration(startTime, new DateTime());
               if(timeTaken.getMillis() > maxMillisToWait)
                    throw new RuntimeException("Already waiting " + timeTaken + " for ttl=" + ttl + " and retry=" +  currentTry);
               Thread.sleep(1000);
}You can find the output below:
2009-12-03T11:50:04.584+01:00 - Setting up TTL test
2009-12-03 11:50:04.803/0.250 Oracle Coherence 3.5.2/463p2 <Info> (thread=main, member=n/a): Loaded operational configuration from resource "jar:file:/C:/Temp/coherence3.5.2/coherence-java-v3.5.2b463-p1_2/coherence/lib/coherence.jar!/tangosol-coherence.xml"
2009-12-03 11:50:04.803/0.250 Oracle Coherence 3.5.2/463p2 <Info> (thread=main, member=n/a): Loaded operational overrides from resource "jar:file:/C:/Temp/coherence3.5.2/coherence-java-v3.5.2b463-p1_2/coherence/lib/coherence.jar!/tangosol-coherence-override-dev.xml"
2009-12-03 11:50:04.803/0.250 Oracle Coherence 3.5.2/463p2 <D5> (thread=main, member=n/a): Optional configuration override "/tangosol-coherence-override.xml" is not specified
2009-12-03 11:50:04.803/0.250 Oracle Coherence 3.5.2/463p2 <D5> (thread=main, member=n/a): Optional configuration override "/custom-mbeans.xml" is not specified
Oracle Coherence Version 3.5.2/463p2
Grid Edition: Development mode
Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
2009-12-03 11:50:04.943/0.390 Oracle Coherence GE 3.5.2/463p2 <Info> (thread=main, member=n/a): Loaded cache configuration from "file:/C:/jb/workspace3.5/TTLTest/target/classes/coherence-cache-config.xml"
2009-12-03 11:50:05.318/0.765 Oracle Coherence GE 3.5.2/463p2 <D5> (thread=Cluster, member=n/a): Service Cluster joined the cluster with senior service member n/a
2009-12-03 11:50:08.568/4.015 Oracle Coherence GE 3.5.2/463p2 <Info> (thread=Cluster, member=n/a): Created a new cluster "cluster:0xD3FB" with Member(Id=1, Timestamp=2009-12-03 11:50:05.193, Address=172.16.44.32:8088, MachineId=36896, Location=process:11848, Role=TTLTestServerTTLTestServer, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=2) UID=0xAC102C20000001255429380990201F98
2009-12-03 11:50:08.584/4.031 Oracle Coherence GE 3.5.2/463p2 <D5> (thread=Invocation:Management, member=1): Service Management joined the cluster with senior service member 1
2009-12-03 11:50:08.756/4.203 Oracle Coherence GE 3.5.2/463p2 <D5> (thread=DistributedCache:testService, member=1): Service testService joined the cluster with senior service member 1
2009-12-03T11:50:08.803+01:00 - Starting TTL test
2009-12-03T11:50:08.818+01:00 - Adding a value in cache for TTL=1 in try= 1
2009-12-03T11:50:09.818+01:00 - Adding a value in cache for TTL=1 in try= 2
Exception in thread "main" (Wrapped: Failed request execution for testService service on Member(Id=1, Timestamp=2009-12-03 11:50:05.193, Address=172.16.44.32:8088, MachineId=36896, Location=process:11848, Role=TTLTestServerTTLTestServer)) java.lang.IllegalStateException: the node has already been removed
     at com.tangosol.util.Base.ensureRuntimeException(Base.java:293)
     at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.tagException(Grid.CDB:36)
     at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onContainsKeyRequest(DistributedCache.CDB:41)
     at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$ContainsKeyRequest.run(DistributedCache.CDB:1)
     at com.tangosol.coherence.component.net.message.requestMessage.DistributedCacheKeyRequest.onReceived(DistributedCacheKeyRequest.CDB:12)
     at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:9)
     at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:136)
     at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onNotify(DistributedCache.CDB:3)
     at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
     at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalStateException: the node has already been removed
     at com.tangosol.util.AbstractSparseArray$Crawler.remove(AbstractSparseArray.java:1274)
     at com.tangosol.net.cache.OldCache.evict(OldCache.java:580)
     at com.tangosol.net.cache.OldCache.containsKey(OldCache.java:171)
     at com.tangosol.net.cache.ReadWriteBackingMap.containsKey(ReadWriteBackingMap.java:597)
     at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onContainsKeyRequest(DistributedCache.CDB:25)
     ... 7 more
2009-12-03 11:50:10.834/6.281 Oracle Coherence GE 3.5.2/463p2 <D4> (thread=ShutdownHook, member=1): ShutdownHook: stopping cluster node
2009-12-03 11:50:10.834/6.281 Oracle Coherence GE 3.5.2/463p2 <D5> (thread=Cluster, member=1): Service Cluster left the clusterBest regards
Jan

Similar Messages

  • "Put" command doesn't always work

    Hi,
    I'm looking for a confirmation that the put command doesn't
    always work in DW8.
    I don't use check in/out, so I have started to rely on the
    Put command, rather than going in to Windows Explorer to copy and
    paste web page changes from Local to Remote (via LAN). But even
    when I know there are differences between the local and remote
    file, the Put command will often report that the Local file was not
    moved to the Remote location because DW thinks the Remote file is
    the same as the Local. I get a log message like this:
    "the file" - same - not transferred
    But, I can confirm the local is newer than the remote by
    manually copying and pasting. I can see a different timestamp and
    file size in Windows Explorer.
    Is this command "broken" in DW8?
    Thanx,
    Chris

    > I'm looking for a confirmation that the put command
    doesn't always work in
    > DW8.
    You won't get it from me. I have never had it fail since DW2.
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.dreamweavermx-templates.com
    - Template Triage!
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    ==================
    "ChrisRi" <[email protected]> wrote in
    message
    news:egg99f$2s3$[email protected]..
    > Hi,
    >
    > I'm looking for a confirmation that the put command
    doesn't always work in
    > DW8.
    >
    > I don't use check in/out, so I have started to rely on
    the Put command,
    > rather
    > than going in to Windows Explorer to copy and paste web
    page changes from
    > Local
    > to Remote (via LAN). But even when I know there are
    differences between
    > the
    > local and remote file, the Put command will often report
    that the Local
    > file
    > was not moved to the Remote location because DW thinks
    the Remote file is
    > the
    > same as the Local. I get a log message like this:
    >
    > "the file" - same - not transferred
    >
    > But, I can confirm the local is newer than the remote by
    manually copying
    > and
    > pasting. I can see a different timestamp and file size
    in Windows
    > Explorer.
    >
    > Is this command "broken" in DW8?
    >
    > Thanx,
    >
    > Chris
    >
    >

  • My track pad on my air doesn't always respond when using firefox and trying to scroll up or down in the page

    when in firefox my track pad doesn't always respond when I want to use fingers to scroll up or down in the screen...any thoughts?

    it is possible that zoom maybe enabled i think double taping with three fingers should disable it.
    or you can go into settings>general> assessability> zoom and turn it off.
    hope this helps

  • Help/conte​nts doesn't always display when using Vista

    Hi,
    On a fresh startup of Lookout 6.1 on Vista, the help/contents always starts as expected.  At a later time and for some unknown reason, the help/contents may not display.  Is this a know problem and what is the solution?
    Regards,
    Joe C.

    It's an unknown issue. Are you using Vista SP1?
    You can find lookout.chm in lookout folder. Try to directly open this file.
    Ryan Shi
    National Instruments

  • Air application installer doesn't always work when Adobe air is already installed

    Hi,
    I've recieved an adobe air application from another developer. I placed it a web site and tested it. It worked so I considered it complete. However it turns out that it only worked because I didn't have Adobe Air installed.
    I've found that there is someone with Adobe Air (same version as me) already intalled from another source and when they click application install button absolutely nothing happens. No error or anything.
    However I can revisit the page and click it and it works every time even with adobe air already installed. So I suspect it has something to do with how they've installed it.
    Has anyone ever run into this issue and do you know what could be causing it? It is because something is wrong with their installer which leaves it not knowing what to do with an air extension and the whole thing just fails silently?

    Hi,
    Would it be possible to get the URL to the page that has your AIR badge installer (or the html if it's not publicly viewable)?  We'll probably also need further info on the system that's failing, if possible could you post the installer log and check to see if the following file exists:
    Win 7:
    C:\Users\username\AppData\Roaming\Macromedia\Flash Player\www.macromedia.com\bin\airappinstaller\airappinstaller.exe
    Mac
    /Users/username/Library/Preferences/Macromedia/Flash Player/www.macromedia.com/bin/airappinstaller/airappinstaller
    Please feel free to contact me at [email protected] if necessary.
    Thanks,
    Chris

  • My phone keeps freezing and the home button doesn't always work

    My phone keeps freezing and the button on the front of phone doesn't always work when typing my phone goes slow

    Try this... You will Not Lose Any Data...
    Close All Open Apps...
    Turn the Phone Off...
    Press and Hold the Sleep/Wake Button and the Home Button at the Same Time...
    Wait for the Apple logo to Appear and then Disappear...
    Usually takes about 15 - 20 Seconds... ( But can take Longer...)
    Release the Buttons...
    Turn the Phone On...
    http://support.apple.com/kb/ht1430

  • ITunes 10.4.1 Problem with Key Command Go to Current Song - Doesn't always work

    Since updating to iTunes 10.4.1, I've noticed that the key command, command + L doesn't always work to display the current song.

    I have this problem in iTunes 10.7 (21). The "Go to Current Song" option exists in the Controls menu, but even when audio is playing it is disabled.

  • Why won't Firefox always minimize/resize? Using F11 is a patchy solution that doesn't always work

    Firefox won't always minimize or resize. The upper right hand corner just pulsates. Looking through forums, I found that using f11 can help, but it doesn't always work. Often I have to reboot.
    == This happened ==
    Not sure how often
    == A year ago, maybe

    Start Firefox in [[Safe Mode]] to check if one of the add-ons is causing the problem (switch to the DEFAULT theme: Tools > Add-ons > Themes).
    * Don't make any changes on the Safe mode start window.
    See:
    * [[Troubleshooting extensions and themes]]
    * [[Troubleshooting plugins]]
    If it does work in Safe-mode then disable all extensions and then try to find which is causing it by enabling one at a time until the problem reappears.
    * Use "Disable all add-ons" on the [[Safe mode]] start window to disable all extensions.
    * Close and restart Firefox after each change via "File > Exit" (Mac: "Firefox > Quit"; Linux: "File > Quit")

  • [svn:osmf:] 18047: Fix FM-1076: Reconnect timeout doesn't always work.

    Revision: 18047
    Revision: 18047
    Author:   [email protected]
    Date:     2010-10-06 16:29:01 -0700 (Wed, 06 Oct 2010)
    Log Message:
    Fix FM-1076: Reconnect timeout doesn't always work.
    Ticket Links:
        http://bugs.adobe.com/jira/browse/FM-1076
    Modified Paths:
        osmf/trunk/framework/OSMF/org/osmf/net/NetLoader.as

    "Is it intended to cope with NetConnection.Connect.IdleTimeOut of FMS disconnecting clients after some time of inactivity?"
    The answer is no. Stream reconnect is all about trying to reconnect in the event of a dropped network connection. For the IdleTimeOut scenario, listen for the MediaErrorEvent.MEDIA_ERROR event on the MediaPlayer and check for an error of MediaErrorCodes.NETCONNECTION_TIMEOUT. You can handle that however you wish in your player.
    - charles

  • My iPhone 4 home button doesn't always work. sometimes its just not responsive. other times, it works great. what's the problem, and how do I get it fixed? my iphone  is 2 days old

    my iPhone 4 home button doesn't always work. sometimes its just not responsive. other times, it works great. what's the problem, and how do I get it fixed? my iphone is 2 days old

    Hi there,
    I would recommend taking a look at the troubleshooting steps found in the article below.
    iPhone: Hardware troubleshooting
    http://support.apple.com/kb/TS2802
    -Griff W.

  • My iphone 5 power button doesn't always work.  I have heard this is an issue and Apple will replace it if under warranty, but I have a broken screen.  Will they still replace it?

    My iphone 5 power button doesn't always work.  I have heard this is an issue and Apple will replace it if under warranty, but I have a broken screen.  Will they still replace it?

    It is unlikely but you can atleast try they might set it up for free but expect an email about paying 269 for physical damage

  • IPhone 3GS Sleep/wake button doesn't always work

    Recently i upgraded my iphone 3gs to iOS 5.0.1,
    Since then, my sleep/wake button doesn't always work.
    It's pretty annoying, and i hope there is a solution to this issue.
    Thanks in advance.

    One possibility is that your phone is more occupied with "managing" iOS 5.0.1 since it has more features etc. This could especially be the case if you are using a lot of apps.
    Another option is that the button is simply worn out... I used to have that issue with the home button of my old iphone 3g. However, if the problem started occuring right after you upgraded your iOS, it probably is a software issue...

  • HT4060 I have to wiggle the plug to charge my iPad and it doesn't always work

    What is the possible fix for my having to wiggle the connector to charge my iPad, and that doesn't always work?

    That's not normal. You can try another cable. If the issue repeats, then it's something with your iPad. If your device is still under warranty, take it in and have it assessed. If they determine that it's a manufacturer's defect, they can replace it, but if they determine it's 'abuse or neglect' then they won't.
    If your device isn't under warranty you may be eligible for an out of warranty replacement.

  • Turning off thumbnail caching doesn't always work

    The standard solution for stopping the creation of thumb nail files doesn't always work. This assumes that since you don't display thumbnails you don't create thumb nails. Not true. If you try to move a JPG created by Windows Media Player as message is
    displayed. This message asks you if you really want to move a system file. The message displays a thumbnail. So instantly a THUMBS.DB file is created. Now the whole purpose of the exercise was to move stuff out of the folder, so that after a bit of fiddling
    you could reorganise & delete the folder. Now you can't delete the folder, unless you mess around and do it later. There is obviously a (non intuitive) work around. But it would be better if Microsoft allowed you to force the delete.

    Hi,
    As far as I know there is no official way to turn off thumbnail caching. The only option in Group Policy is Turn off taskbar thumbnails.
    Local Computer Policy\User Configuration\Administrative Templates\Start Menu and Taskbar\Turn off taskbar thumbnails
    Do you encounter any difficult position that must disable thumbnail caching?
    Roger Lu
    TechNet Community Support

  • On a 5s how do you make the light turn off when phone rings or when you receive text, at work I would like to shut that off. Also seems like vibrate doesn't always work?

    On a 5s how do you make the light turn off when phone rings or when you receive text, at work I would like to shut that off. Also seems like vibrate doesn't always work? I had a 4s and didn't have these issues

    Thank you, I did find that. Still my phone does not always vibrate when ringer is off for texts and calls, only sometimes?

Maybe you are looking for

  • IS ODI 10.1.3 compatible with SQL SERVER 2008?

    Hi All, Doews 10.1.3 work with sqlserver 2008? I have a sqljdbc4 driver listed in my driver folder, but I can't seem to get a connection when I am testing the connection. Thanks

  • How to capture userid,date in a custom table while updating a form

    Hi, I have a requirement to insert the userid, the form name and the date on which the record is saved in a custom table while updating a custom form. We are using Form Builder 6.0. I am new to Forms and can anyone help me with these? I would also wa

  • JViewport Resize problem -- Urgent!

    I am trying to make a program that allows the user to dynamically resize a scrollable JPanel. I have added resize buttons that work well. The JScrollPane works well, but when the JViewport's View is set to the bottom right corner of the JPanel, and t

  • Migration of Data from Visual Foxpro (.DBF) to Table in Oracle 8i (Win NT)

    Hi Everyone, I have data in Visual Foxpro (.dbf) which I would like to take into a table of Oracle 8i. I would like to know the easy but secure way of porting from dbf to oracle. I am able to convert to access, if needed. Please help ! Thanks in anti

  • Creating zipped file which contain multiple files

    hi all, i have a problem which i would like some advice about: i need to recieve from a FTP server multiple files and then zip them all in one big zip file. now i checked the forums and all i found is using PayloadZipBean which in all the examples cr