Dealing with hard timeout of guarded service

Hi, I'm investigating the behavior the cause of and subsequent behavior after a hard timeout of a guarded service. In my experience, the grid members are unable to recover properly. I am trying to figure out whether there is something in our configuration that may be aggravating the situation, and also see whether I might be able to improve the behavior of our client code.
What I have done is purposely lower the service guardian's timeout, to about 25 seconds, so that a certain EntryProcessor will always time-out. The behavior I see after the timeout is very similar to the behavior we see when the problem crops up in the real world. I know that I can raise the timeout or use the PriorityTask API, but even if I do that, we may run into timeouts due to deadlock. If that happens, I want to know what I can expect the grid to do.
Here's what I'm seeing:
I am running 2 storage-enabled members with backup-count=0. I am running my "client" as a non-storage-enabled member.
First, the client kicks off the EntryProcessor:
Map<Object, Integer> readProcessorResult = requestCache.invokeAll(AlwaysFilter.INSTANCE, processor);
The two members begin logging successful executions of the EntryProcessor. Then, one of the members happens to run it against an entry that takes longer than the service guardian's timeout. We get a soft and hard timeout:
[ERROR] Coherence: 2012-01-26 10:56:20.103/333.297Oracle Coherence GE 3.7.1.2 <Error> (thread=Cluster, member=1): Detected soft timeout) of {WrapperGuardable Guard{Daemon=DistributedCache:jdw-read-request-service} Service=PartitionedCache{Name=jdw-read-request-service, State=(SERVICE_STARTED), LocalStorage=enabled, PartitionCount=257, BackupCount=0, AssignedPartitions=128}}
[WARN ] Coherence: 2012-01-26 10:56:20.121/333.315Oracle Coherence GE 3.7.1.2 <Warning> (thread=Recovery Thread, member=1): Attempting recovery of Guard{Daemon=DistributedCache:jdw-read-request-service}
[ERROR] Coherence: 2012-01-26 10:56:22.604/335.798Oracle Coherence GE 3.7.1.2 <Error> (thread=Cluster, member=1): Detected hard timeout) of {WrapperGuardable Guard{Daemon=DistributedCache:jdw-read-request-service} Service=PartitionedCache{Name=jdw-read-request-service, State=(SERVICE_STARTED), LocalStorage=enabled, PartitionCount=257, BackupCount=0, AssignedPartitions=128}}Now, for some reason (why?), Coherence determines that the service is unrecoverable and it must stop the cluster:
[WARN ] Coherence: 2012-01-26 10:56:22.605/335.799Oracle Coherence GE 3.7.1.2 <Warning> (thread=Termination Thread, member=1): Terminating Guard{Daemon=DistributedCache:jdw-read-request-service}
Coherence <Error>: Halting this cluster node due to unrecoverable service failure
[ERROR] Coherence: 2012-01-26 10:56:23.613/336.807Oracle Coherence GE 3.7.1.2 <Error> (thread=Cluster, member=1): StopRunning ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_JOINED), Id=0, Version=3.7.1, OldestMemberId=1} due to unhandled exception:
[ERROR] Coherence: 2012-01-26 10:56:23.613/336.807Oracle Coherence GE 3.7.1.2 <Error> (thread=PacketListener1P, member=1): Stopping cluster due to unhandled exception: com.tangosol.net.messaging.ConnectionException: UdpSocket.receive: unable to reopen socket; State=STATE_CLOSED
        at com.tangosol.coherence.component.net.socket.UdpSocket.receive(UdpSocket.CDB:58)
        at com.tangosol.coherence.component.net.UdpPacket.receive(UdpPacket.CDB:1)
        at com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketListener.onNotify(PacketListener.CDB:20)
        at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
        at java.lang.Thread.run(Unknown Source)
[ERROR] Coherence: 2012-01-26 10:56:23.641/336.835Oracle Coherence GE 3.7.1.2 <Error> (thread=Cluster, member=n/a):
java.lang.NullPointerException: null
        at com.tangosol.coherence.component.net.Cluster$ClusterService$TcpRing.onAcceptException(Cluster.CDB:13) ~[coherence-3.7.1.2.jar:3.7.1.2]
        at com.tangosol.coherence.component.net.TcpRing.onAccept(TcpRing.CDB:25) ~[coherence-3.7.1.2.jar:3.7.1.2]
        at com.tangosol.coherence.component.net.TcpRing.onSelect(TcpRing.CDB:27) ~[coherence-3.7.1.2.jar:3.7.1.2]
        at com.tangosol.coherence.component.net.TcpRing.select(TcpRing.CDB:14) ~[coherence-3.7.1.2.jar:3.7.1.2]
        at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onWait(ClusterService.CDB:6) ~[coherence-3.7.1.2.jar:3.7.1.2]
        at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:39) ~[coherence-3.7.1.2.jar:3.7.1.2]
        at java.lang.Thread.run(Unknown Source) [na:1.6.0_30]
[WARN ] Coherence: 2012-01-26 10:56:24.976/338.170Oracle Coherence GE 3.7.1.2 <Warning> (thread=Invocation:jdw-invocation-service, member=n/a): failed to stop 95 worker threads; abandoning
Coherence <Error>: Halted the cluster:
Cluster is not running: State=5
Exception in thread "Cluster|SERVICE_STOPPED|Member(Id=1, Timestamp=2012-01-26 10:50:58.044, Address=192.168.1.67:9001, MachineId=52295, Location=site:,machine:DEN12956L,process:10012, Role=CoherenceServer)" java.nio.channels.ClosedSelector
Exception
        at sun.nio.ch.SelectorImpl.keys(Unknown Source)
        at com.tangosol.coherence.component.net.TcpRing.disconnectAll(TcpRing.CDB:6)
        at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService$TcpRing.onLeft(ClusterService.CDB:4)
        at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onStopRunning(ClusterService.CDB:7)
        at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onException(ClusterService.CDB:28)
        at com.tangosol.coherence.component.net.Cluster$ClusterService.onException(Cluster.CDB:7)
        at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:85)
[ERROR] Coherence: 2012-01-26 10:56:25.616/338.810 Oracle Coherence GE 3.7.1.2 <Error> (thread=Cluster, member=n/a): StopRunning ClusterService{Name=Cluster, State=(SERVICE_STOPPED, STATE_JOINED), Id=0, Version=3.7.1} due to unhandled exception:
        at java.lang.Thread.run(Unknown Source)
[ERROR] Coherence: 2012-01-26 10:56:25.616/338.810Oracle Coherence GE 3.7.1.2 <Error> (thread=Cluster, member=n/a):
java.nio.channels.ClosedSelectorException: null
        at sun.nio.ch.SelectorImpl.keys(Unknown Source) ~[na:1.6.0_30]
        at com.tangosol.coherence.component.net.TcpRing.close(TcpRing.CDB:11) ~[coherence-3.7.1.2.jar:3.7.1.2]
        at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService.onExit(ClusterService.CDB:1) ~[coherence-3.7.1.2.jar:3.7.1.2]
        at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:68) ~[coherence-3.7.1.2.jar:3.7.1.2]
        at java.lang.Thread.run(Unknown Source) [na:1.6.0_30]Around the same time that member 1 decided to stop its cluster, member 2, which had been happily executing entry processors, begins taking responsibility for member 1's partitions. That's what I'd expect.
[WARN ] Coherence: 2012-01-26 10:56:23.643/336.784Oracle Coherence GE 3.7.1.2 <Warning> (thread=DistributedCache:sys-id-dist-service, member=2): Assigned 128 orphaned primary partitions
[WARN ] Coherence: 2012-01-26 10:56:23.646/336.787Oracle Coherence GE 3.7.1.2 <Warning> thread=DistributedCache:sourceMetadataReviewCache-service, member=2): Assigned 128 orphaned primary partitions
......Member 1 now restarts its cluster and re-joins as member 4, and starts re-starting its services:
[INFO ] Coherence: 2012-01-26 10:56:26.008/339.202Oracle Coherence GE 3.7.1.2 <Info> (thread=main, member=n/a): Restarting cluster
[INFO ] Coherence: 2012-01-26 10:56:26.327/339.521Oracle Coherence GE 3.7.1.2 <Info> (thread=Cluster, member=n/a): This Member(Id=4, Timestamp=2012-01-26 10:56:26.126, Address=192.168.1.67:9001, MachineId=52295, Location=site:,machine:DEN12956L,process:10012, Role=CoherenceServer, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=2) joined cluster "NIR_GRID_DEV" with senior Member(Id=2, Timestamp=2012-01-26 10:51:03.593, Address=192.168.1.67:9003, MachineId=52295, Location=site:,machine:DEN12956L,process:10024, Role=CoherenceServer, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=2)
[INFO ] Coherence: 2012-01-26 10:56:26.364/339.558Oracle Coherence GE 3.7.1.2 <Info> (thread=main, member=n/a): Started cluster Name=NIR_GRID_DEV
Group{Address=224.3.7.0, Port=60000, TTL=0}
MasterMemberSet(
  ThisMember=Member(Id=4, Timestamp=2012-01-26 10:56:26.126, Address=192.168.1.67:9001, MachineId=52295, Location=site:,machine:DEN12956L,process:10012, Role=CoherenceServer)
  OldestMember=Member(Id=2, Timestamp=2012-01-26 10:51:03.593, Address=192.168.1.67:9003, MachineId=52295, Location=site:,machine:DEN12956L,process:10024, Role=CoherenceServer)
  ActualMemberSet=MemberSet(Size=3
    Member(Id=2, Timestamp=2012-01-26 10:51:03.593, Address=192.168.1.67:9003, MachineId=52295, Location=site:,machine:DEN12956L,process:10024, Role=CoherenceServer)
    Member(Id=3, Timestamp=2012-01-26 10:55:05.522, Address=192.168.1.67:9005, MachineId=52295, Location=site:,machine:DEN12956L,process:13268, Role=IntellijRtExecutionAppMain)
    Member(Id=4, Timestamp=2012-01-26 10:56:26.126, Address=192.168.1.67:9001, MachineId=52295, Location=site:,machine:DEN12956L,process:10012, Role=CoherenceServer)
  MemberId|ServiceVersion|ServiceJoined|MemberState
    2|3.7.1|2012-01-26 10:51:03.593|JOINED,
    3|3.7.1|2012-01-26 10:55:05.522|JOINED,
    4|3.7.1|2012-01-26 10:56:26.337|JOINED
  RecycleMillis=1200000
  RecycleSet=MemberSet(Size=0
TcpRing{Connections=[2, 3]}
IpMonitor{AddressListSize=0}
[INFO ] Coherence: 2012-01-26 10:56:26.365/339.559Oracle Coherence GE 3.7.1.2 <Info> (thread=main, member=4): Restarting Service:Management
[INFO ] Coherence: 2012-01-26 10:56:26.417/339.611Oracle Coherence GE 3.7.1.2 <Info> (thread=main, member=4): Restarting Service:jdwSourceManagerCache-service
......While that is happening, member 2 now also encounters a hard timeout on the same service and begins going through the same process that member 1 just went through. I am not sure why member 2 encounters this timeout. Perhaps it is because it ran another entry processor that took too long? It is difficult to tell. Except this time we start having problems when member 2 tries to stop the cluster, and I'm not sure exactly why. Perhaps because member 4 is not yet in a good state?
[ERROR] Coherence: 2012-01-26 10:56:35.282/348.423Oracle Coherence GE 3.7.1.2 <Error> (thread=PacketListener1, member=2): Stopping cluster due to unhandled exception:
com.tangosol.net.messaging.ConnectionException: UdpSocket.receive: unable to reopen socket; State=STATE_CLOSED
        at com.tangosol.coherence.component.net.socket.UdpSocket.receive(UdpSocket.CDB:58)
        at com.tangosol.coherence.component.net.UdpPacket.receive(UdpPacket.CDB:1)
        at com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketListener.onNotify(PacketListener.CDB:20)
        at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
        at java.lang.Thread.run(Unknown Source)
Coherence <Error>: Halted the cluster:
Cluster is not running: State=5
[ERROR] Coherence: 2012-01-26 10:56:42.147/355.288Oracle Coherence GE 3.7.1.2 <Error> (thread=main, member=n/a): Failed to restart services: com.tangosol.net.RequestTimeoutException: Timeout while waiting for cluster to stop.
[ERROR] Coherence: 2012-01-26 10:56:51.324/364.465Oracle Coherence GE 3.7.1.2 <Error> (thread=main, member=n/a): Failed to restart services: com.tangosol.net.RequestTimeoutException: Timeout while waiting for cluster to stop.
...... (error repeats)And the newly re-joined member 4, which had been restarting services and claiming partitions from the newly-dead member 2, appears to restart execution of the entry processor but then complains that its thread was interrupted: I am not sure why this happens or what it means.
[INFO ] Coherence: 2012-01-26 10:56:52.685/365.879Oracle Coherence GE 3.7.1.2 <Info> (thread=DistributedCache:jdw-read-request-service, member=4): Restarting NamedCache: coherence.common.sequencegenerators
[ERROR] Coherence: 2012-01-26 10:56:52.686/365.880Oracle Coherence GE 3.7.1.2 <Error> (thread=DistributedCache:jdw-read-request-service, member=4): This thread was interrupted while waiting for the results of a request:
Poll
  PollId=2, active
  InitTimeMillis=1327597012685
  Service=DistributedCacheForSequenceGenerators (60)
  RespondedMemberSet=[]
  LeftMemberSet=[]
  RemainingMemberSet=[4]
  },Meanwhile, my client, who ran the invoke() with the EntryProcessor, has received a message stating "no storage enabled members exist," which although it may be true doesn't seem like it's really the cause of the problem.
Could I be having problems because all my cluster members are executing the same kind of long-running EntryProcessor and all of them are getting service guardian timeouts at around the same time? How do I deal with that? For example, what if a database is running very slowly one day and my entry processors all start to execute slowly? I don't want my whole grid having problems. Should I, for example, limit the number of concurrent EntryProcessors to < count of grid members by using a LimitFilter?
What does it mean that there was a timeout waiting for the cluster to stop?
And what about the client? If I get an exception after running a grid command, is it valid to wait a few seconds for things to stabilize and then try again? What's my best bet as far as that goes?
Thanks! And let me know if I should file a support request instead.

rehevkor5 wrote:
I appreciate the responses so far, but unfortunately they give me no new information.
I am aware that I can try to avoid timeouts by using the PriorityTask API and heartbeats, but that still gives me no guarantee that I will not run into a deadlock situation and encounter a timeout. That is fine as long as my grid can deal with it. Currently, it does not behave well when that happens (all members eventually die). I challenge anyone reading this post to try running an entry processor on their grid that is designed to time out (not by using sleep() as that is interruptable via a soft timeout). All your members will probably encounter the timeout at the same time, and it probably will not end well. If, however, you can handle this situation or have some approach that mitigates it, I would love to hear from you!
I am also aware that I can disable the service guardians, or configure them to only log and take no action. However, this leaves me vulnerable to deadlocks.
Therefore, I would still appreciate any responses that address either of these two issues:
1. Configuration changes or other fixes that allow my members to recover successfully from a service timeout
2. Operational best practices that allow my grid to continue running even if an entry processor that is running on every member of the grid times out at the same time. For example, limiting the number of concurrent entry processors.One operational best practice is design your system so you can't get into a deadlock. If it can get into a deadlock once, it can get into it many times. If a system does that, it is not a well-behaving or well-designed system.
If your code can get into a deadlock across the cluster, that usually means that you are trying to do something which you should not have, like trying to operate on multiple resources in an arbitrary order while holding locks on them (e.g. violating the threading guidelines), which is the typical case of a distributed deadlock, and against which you can guard with ordering your multiple locking operations in a consistent order, but you should not expect Coherence to retry and possibly get into the same problem, as all you would achieve with it is that you converted the deadlock into a livelock.
Coherence is not supposed to guard against your errors. With the guardian it gives you a way to find out what your error is, but it should not attempt the impossible by trying to correct it. You should design your system so that it does not have this kinds of errors.
If you think there is a specific reproducible problem in how Coherence reacts to your code which can bring down the system, then create a test case and submit it in a SR. The kinds of exceptions you get make it possible that it may be necessary. If it is indeed Coherence's fault that it dies and not something you did, then I am fairly certain that it will be given quite high priority considering it is an error which can bring a cluster down.
Coherence server-side constructs have an API contract. Single foremost aspect of that is that the operations complete without an error (unless otherwise documented) within a small period of time. If it goes against this then it has to provide feedback or customization with PriorityTask/GuardSupport. A code which can deadlock goes against this contract. After all we are speaking about a grid, not a distributed process manager.
I agree that the grid should not die due to a deadlock, but you should not expect Coherence to fix a deadlock either. But dying due to an exception and having a distributed deadlock is two different and independent issues.
Best regards,
Robert
Edited by: robvarga on Feb 3, 2012 10:12 AM

Similar Messages

  • How to deal with session timeouts?

    How to deal with session timeouts?
    With our current configuration of using single signon, when the web session times out (currently 20 minutes of inactivity), the user loses anything they have entered on a service form.  The use case is that a user starts filling out a form and gets interrupted, goes to lunch, etc, returns and spends time filling out the form (in the mean time the web session has timed out).  When they try to submit the service they get re-logged in through SSO and they have lost all of their entries in the service.   This creates some very unhappy users.
    I'd like to know how long other customers set their web session timeouts to and if anyone has come up with ways of handling this situation - either through somehow re-establishing the session or through warnings to the user about how long they have to complete a form.

    Hi,
    The timeout period for HTTP sessions that are created in the corresponding Web application. After being inactive for the specified timeout, the HTTP sessions expire. The period is specified in minutes:
    <!ELEMENT session-timeout (#PCDATA)>
    You can only change the session timeout property in the applicationu2019s own deployment descriptors. This is not possible for the Global Web Descriptor.
    following may help you:
    [Additional Configuration Settings |http://help.sap.com/saphelp_erp2005vp/helpdata/en/a9/7a9602ad094b82a293f06d1cbe2c14/frameset.htm]
    Regards,
    Sahidur

  • Best way to deal with hard coded variables in a package

    There is a plsql package that reads a line from a file, parses the data, does a ton of sql operation with it (select update, inserts, calculations) and then writes the output to an output file.
    The file names and the firectories are retieved from a database table.
    Example:
    select location,file_name into loc_in,file_in from temp_tbl;
    p_File_handle := utl_file.fopen (loc_in, file_in, 'W');
    My co worker is suggesting that getting the variable values from the table is not a good practice. He suggests that the values should be hard-coded in the program. Now you might ask what would happen if the file name or directory changes. His suggestion is to have a build file and do a token substitution of those hard coded values in the program and then load in to the DB. In short the process will involve the following steps:
    -Get the package from the repostory.
    -Change the file name and directory in the token file.
    -Run the build process that will replace the values in the package .
    -Load the new file (with the updated values) in to the DB.
    Example:
    This way the program will be initially coded like this:
    p_File_handle := utl_file.fopen ('${loc_in}', '${file_in}', 'W');
    After the build file runs, it will replace the values as
    p_File_handle := utl_file.fopen ('C:/test', 'testfile.dat', 'W');
    Once the file has changed with the new updated values, compile that into the database.
    Ideas/comments?

    Re: Best way to deal with hard coded variables in a package: why have you reposted using a new profile?
    Neither post provides enough clear information on what the actual requirement is. We need more data in order to comment on your idea, your co-worker's, or to suggest alternatives.
    My co worker is suggesting that getting the variable
    values from the table is not a good practice.His reasons for this are...?
    "variable values": Why do they vary? How often do they change?
    The file names and the directories are retrieved from
    a database table.How do the values get into the table? What is the volume of the data?
    Oracle version? Operating system?

  • How to make a Mediator deal with calling an external Asynchronous Service

    Hi,
    Using TP 4.
    I want my Mediator to invoke an Asynchronous Service that is external to the composite application. But I do not know how to get the reply from that service back into my Mediator.
    I have worked with the sample of calling an asynch BPEL component within the same composite - that is fairly easy to accomplish.
    What how can I tell the external service to invoke a callback porttype on my Mediator. Can the SCA container work out the correlation between the external service and the correct instance of the SCA composite? Should the Mediator publish the callback interface as an external service at the SCA Composite level? If so - how would the correlation work? If not, how does it work?
    Any suggestions - even the statement that I always need a BPEL component in between that will support correlation with external asynch services, if that is the case - will help.
    Thanks.
    Lucas

    Kylie, welcome to the discussion area!
    Cable modems behave differently than DSL modems in that they will "remember" the last device that they have associated with. Your modem is "remembering" your MacBook and when you connect the TC, the modem won't connect because it "remembers" the MacBook.
    You need to make the modem "forget" a previous device whenever you make a change in the device that is directly connected to the modem. Here's how:
    Push the reset button on the modem if it's present
    Pull the power cable on the modem
    Pull the battery from the modem if it is easily accessible
    Leave the modem powered down for 25-30 minutes
    Power down the rest of your network as well
    After the wait period, connect the modem to the WAN port on the TC with an ethernet cable
    Power up the modem first and let it run for 3-4 minutes by itself
    Then power up the TC the same way
    Power up the rest of your network the same way
    Depending on how you had your TC configured with the DSL modem previously, you may need to make a few changes in the settings.
    Post back on your progress.
    Message was edited by: Bob Timmons
    null

  • How to deal with "Error 1001. The specified service already exists" when install a service using installer package?

    Hi everybody,
    I wrote a "Class Library" project which is a service using Visual Stodio 2008 recently, then tried to use a Visual Studio 2008
    Setup Project to install it.
    Here is what I did for the "Class Library":
    1. Finish the program.cs, Service.cs
    2. Add Installer
    3. Change the serviceInstaller so that "StartType" to be Aotumatic
    4. Change the ServiceProcessInstaller2 so that "Account" to be LocalSystem
    5.
    6. Click in F5 (Start Debugging)
    Here is what I did for the Setup Project:
    1. Add the exe file built from the "Class Library" project to the Application Folder
    2. On the Custom Action Editor, add the exe file from 1 to Install and Commit
    3. Change the property of the project so that "RemovePreviousVersion" to be true
    4. Click on F6(Build Solution)
    Then I tried to run the msi file from the built of the Setup Project. Because I modified the two projects serveral times, I uninstalled the Class Library using "Control Panel->Add or Remove Programs" before I reinstall. Two things I notived:
    1. After unstall, the registry was not cleaned up about the installed program
    2. After several rounds install/uninstall, I got "Error 1001. The specified service already exists"
    My questions are:
    1. How to cleanup the registry when uninstall a program?
    2. How to deal with the "Error 1001. The specified service already exists"?
    3. Did I do anytbing wrong with the "Class Library" or the "Setup Project"?
    Thanks a lot!
    Helen

    Hi Simon, not a problem!
    I spent some more time on this and here are few more notes:
    it is called Major Upgrade, when you are installing new version of the product upon a previous one and
    MSI supports 2 strategies:
    Strategy 1. Install a new version and uninstall previous one. (Install a new version right upon previously installed version (file merging is performed based on dll version number) and the delete previously
    installed files)
    Strategy 2. Uninstall previous version and install a new one (Delete all previous files and install from scratch new files.)
    From the first look it seems that 1st strategy is weird and buggy. But, remember, MSI is great because it's transactional!!! That means that if once some of the phases (Installation, Uninstallation, Rollback, Comit) fails, your machine
    will be reverted to the previous state and it'll be still functional. 
    Let's consider both strategies:
    Consider you have installed product_v1.msi and you want to install product_v2.msi.
    Strategy 1
    1. MSI engine copies files from Product_v1 directory to TEMP directory
    2. MSI engine merges files based on the assembly version (between v1 and v2)
    3. Once merging is completed successfully it removes files in TEMP (RemoveExistingProducts  action triggers it) and you got product_v2 installed, otherwise if it fails MSI engine revert machine to V1 and copies previous files from TEMP.
    Strategy 2
    1. MSI engine tottaly removes all files from v1.
    2. MSI engine installs v2 files and if something goes wrong you cannot revert back, because RemoveExistingProducts  allready worked out and MSI doesn't have files to revert machine back
    I recommend to everybody to use Strategy 1 and leverage MSI transaction functionality. And you can set this strategies by defining sequence of RemoveExistingProducts action. See more info
    here.  So, I think it's not even a bug in VS as I said in the upper post it is default recommened behaviour.
    AND, you got "Error 1001. The specified service already exists"
    because if we follow Strategy 1 MSI engine tries to install Windows Service on top of the existing service and OF COURSE it fails MSI engine (StopServices, DeleteServices actions are executed before actual
    installation and  they look at ServiceControl table). In order to stop service first and delete them you have to fill ServiceContol table of the MSI (and then StopServices, DeleteServices actions will recognize what to they have to stop
    and delete), like this:
    *clip*clip*clip*
    ' see http://msdn.microsoft.com/en-us/library/windows/desktop/aa371634(v=vs.85).aspx for more info
    ' Update the Service Entry to stop and delete service while uninstalling
    query = "INSERT INTO ServiceControl (ServiceControl, Name, Event, Arguments, Wait, Component_) VALUES ('MAD_Service', 'Service name', '160', '', '1', '"
    + componentName + "')"
    Set view = database.OpenView(query)
    : CheckError
    view.Execute : CheckError
    ' Update the Service Entry to stop and delete service while installing
    query = "INSERT INTO ServiceControl (ServiceControl, Name, Event, Arguments, Wait, Component_) VALUES ('MAD2_Service', 'Service name', '10', '', '1', '"
    + componentName + "')"
    Set view = database.OpenView(query)
    : CheckError
    view.Execute : CheckError
    *clip*clip*clip*
    We can uninstall service first by following Strategy 2, but then we lose transactional support.
    So, Simon did I encourage you to change your code a bit?:)
    And, btw, if you don't want to change the strategy, please don't rely on SequenceID in MSI table, it can be change, you have to get the at the runtime.
    Hope it will help to everybody!
    See also more advanced explanation of how MSI works
    here.
    Truly yours, Marat

  • Detail steps in dealing with Web Service to IDoc

    Dear All,
    Iam dealing with Web Service to IDoc Scenario . I want detail steps like how to proceed from start to end of this scenario. Please do the needful.
    Thanks & Regards,
       Sarat

    Hi Sarat
    Just try these
    /people/riyaz.sayyad/blog/2006/05/07/consuming-xi-web-services-using-web-dynpro-150-part-i
    /people/riyaz.sayyad/blog/2006/05/08/consuming-xi-web-services-using-web-dynpro-150-part-ii
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a068cf2f-0401-0010-2aa9-f5ae4b2096f9
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f272165e-0401-0010-b4a1-e7eb8903501d
    /people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1
    /people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2
    /people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi - Invoke Webservices using SAPXI
    /people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services
    /people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2131 [original link is broken] [original link is broken] [original link is broken]
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/336365d3-0401-0010-9884-a651295aeaa9
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/336365d3-0401-0010-9884-a651295aeaa9
    Reward points if useful

  • The problems seems that the free trial what i am constantly paying for may have ran out/free trial time never contacted as i find this online to take to long and to hard to deal with  yet a paying costumer restricted by some weird fault i don't get this t

    the problems seems that the free trial what i am constantly paying for may have ran out/free trial time never contacted as i find this online to take to long and to hard to deal with  yet a paying costumer restricted by some weird fault i don't get this tried every thing how can i be billed and money taken for hired subscription  but end up with a "free trial" that cut me off having withdrawal as i live my life inside Photoshop 

    Use the trackpad to scroll, thats what it was designed for. The scroll bars automatically disappear when not being used and will appear if you scroll up or down using the trackpad.
    This is a user-to-user forum and most people will post on here if they have problems. You very rarely get people posting to say there update went smooth. The fact is the vast majority of Mountain Lion users will not be experiencing any major problems with the OS, or maybe with apps which are not compatible, but thats hardly Apple's fault if developers don't update their apps.

  • Dealing with customer services!!!

    Anyone had the delight of trying to deal with ADOBES online customer service team?
    opening an issue on June 1st with one or two responses, that had completely mis-read my issue.  They finally got around to answering (again) this morning!!!
    With the answer 'You should try the many Adobe help forums around the world...don't worry these are free'
    The question was, if Photoshop CS2 is incompatible with VISTA HOME, how would I be able to purchase Photoshop CS4 upgrade?
    One of the answers they gave me was that I only have DREAMWEAVER!! Well no I don't!!!!
    And having already asked the question on a few forums, as to whether photoshop CS2 is compatible the answer was no...I am therefore spending the day writing this on all forums I can find.... Because I am certainly not going to get any help from ADOBE.....who are the producers of this software and if the best they can come up with is to go to forums, run by other people than themselves...well what a state that comapny must be in.
    If they don't know why their software is incompatible!!!!!!! Reminds me of baths and inability to run one!!!

    Yeah,
    I chatted with a rep. online...
    This was my question:
    where do I submit my educational form?
    Answer:
    So you want the link for the educational store,
    Sure right here! *Link*
    And yeah....
    I thought that was messed.
    I dont even bother with emailing them!
    It took them two months to answer
    one question.

  • How to deal with multiple hard drives?

    I am using Aperture 1.5 but am having trouble
    dealing with the Library structure. I want to be able to have Aperture recognize and work with Projects located on several different external hard drives. Where should the main library be located? In 1.5 is there such a thing anymore as a Branch library? I had a branch library on an external drive. I may have messed things up so that Aperture doesn't quite know where things are. Is there a way to re-organize things so that when I open Aperture ALL the projects I've worked with do appear? Thanks.

    To have Aperture work with projects on different hard drives, just import the project files but tell Aperture to copy the files from their current location (say a media card or CD) to a directory of your choice on any drive of your choice. You can store projects on multiple drives. I don't think it matters where the main library is located, it could be on your primary drive, or on one of your external hard drives. I'm not sure how to consolidate projects that were enclosed in different libraries other than to export the projects individually, and then reimport them into the new centralized library. I do wish Aperture would allow one multiple select projects (it only allows you to select one at a time) for exporting. I also wish that Aperture had a 'Consolidate Libraries' command which would allow one to just pull all 'found' projects into one library.
    Dual 2.7 GHz 5.5 Gig RAM   Mac OS X (10.4.6)  

  • When I attempt to connect my new MacBook Air to my home network I receive a dialogue that says " Could not join name of network .  A connection timeout has occurred.  Any ideas on how to deal with this?

    When I attempt to connect my new MacBook Air to my home network I receive a dialogue that says " Could not join <name of network>.  A connection timeout has occurred.  Any ideas on how to deal with this?

    Please review the following Apple Support article for assistance with troubleshooting wireless connections.
    You may also find this OSXDaily article helpful as well.

  • Svn with Apache Timeout issue

    Hello Archers,
    I've set up an svn Server with Apache folloing your wiki on my raspberry pi.
    https://wiki.archlinux.org/index.php/LAMP
    https://wiki.archlinux.org/index.php/Subversion_Setup
    Unfortunately I get errors when I try to commit several files (15 or so). I think it is a timeout issue, however I don't know where to specify the timeout in the httpd.conf (or httpd-ssl.conf)
    This is a client error message:
    Commit failed (details follow):
    Unexpected end of svndiff Input
    And this the corresponding server side log:
    [date] [dav:error] [pid 448:tid 2854220848] (70007)The timeout specified has expired: [client 192.168.178.55:63819] Timeout reading the body (URI: /Dokumente/!svn/txr/9-q/Music/myfile.mp3) [408, #0]
    [date] [dav:error] [pid 448:tid 2854220848] [client 192.168.178.55:63819] mod_dav_svn close_stream: error closing write stream [500, #185004]
    [date] [dav:error] [pid 448:tid 2854220848] [client 192.168.178.55:63819] Unexpected end of svndiff input [500, #185004]
    I assume it is some error like this: http://subversion.apache.org/faq.html#s … -truncated
    I think I don't have specified the timeouts correctly, since I haven't found the default option.
    tl:dr
    Do you know how to set the timeouts in the apache configuration file?
    I very much appreciate your help.
    arch on pi
    Here are my configuration Files with my position for the timeout order:
    httpd-ssl.conf:
    # This is the Apache server configuration file providing SSL support.
    # It contains the configuration directives to instruct the server how to
    # serve pages over an https connection. For detailed information about these
    # directives see <URL:http://httpd.apache.org/docs/2.4/mod/mod_ssl.html>
    # Do NOT simply read the instructions in here without understanding
    # what they do. They're here only as hints or reminders. If you are unsure
    # consult the online docs. You have been warned.
    # Required modules: mod_log_config, mod_setenvif, mod_ssl,
    # socache_shmcb_module (for default value of SSLSessionCache)
    # Pseudo Random Number Generator (PRNG):
    # Configure one or more sources to seed the PRNG of the SSL library.
    # The seed data should be of good random quality.
    # WARNING! On some platforms /dev/random blocks if not enough entropy
    # is available. This means you then cannot use the /dev/random device
    # because it would lead to very long connection times (as long as
    # it requires to make more entropy available). But usually those
    # platforms additionally provide a /dev/urandom device which doesn't
    # block. So, if available, use this one instead. Read the mod_ssl User
    # Manual for more details.
    #SSLRandomSeed startup file:/dev/random 512
    SSLRandomSeed startup file:/dev/urandom 512
    #SSLRandomSeed connect file:/dev/random 512
    SSLRandomSeed connect file:/dev/urandom 512
    # When we also provide SSL we have to listen to the
    # standard HTTP port (see above) and to the HTTPS port
    Listen 443
    ## SSL Global Context
    ## All SSL configuration in this context applies both to
    ## the main server and all SSL-enabled virtual hosts.
    # SSL Cipher Suite:
    # List the ciphers that the client is permitted to negotiate.
    # See the mod_ssl documentation for a complete list.
    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
    # Speed-optimized SSL Cipher configuration:
    # If speed is your main concern (on busy HTTPS servers e.g.),
    # you might want to force clients to specific, performance
    # optimized ciphers. In this case, prepend those ciphers
    # to the SSLCipherSuite list, and enable SSLHonorCipherOrder.
    # Caveat: by giving precedence to RC4-SHA and AES128-SHA
    # (as in the example below), most connections will no longer
    # have perfect forward secrecy - if the server's key is
    # compromised, captures of past or future traffic must be
    # considered compromised, too.
    #SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5
    #SSLHonorCipherOrder on
    # Pass Phrase Dialog:
    # Configure the pass phrase gathering process.
    # The filtering dialog program (`builtin' is an internal
    # terminal dialog) has to provide the pass phrase on stdout.
    SSLPassPhraseDialog builtin
    # Inter-Process Session Cache:
    # Configure the SSL Session Cache: First the mechanism
    # to use and second the expiring timeout (in seconds).
    #SSLSessionCache "dbm:/run/httpd/ssl_scache"
    SSLSessionCache "shmcb:/run/httpd/ssl_scache(512000)"
    SSLSessionCacheTimeout 6000
    ## SSL Virtual Host Context
    <VirtualHost _default_:443>
    # General setup for the virtual host
    DocumentRoot "/mnt/sda1/svn"
    ServerName 192.168.178.48:443
    ServerAdmin [email protected]
    ErrorLog "/var/log/httpd/error_log"
    TransferLog "/var/log/httpd/access_log"
    # SSL Engine Switch:
    # Enable/Disable SSL for this virtual host.
    SSLEngine on
    # Server Certificate:
    # Point SSLCertificateFile at a PEM encoded certificate. If
    # the certificate is encrypted, then you will be prompted for a
    # pass phrase. Note that a kill -HUP will prompt again. Keep
    # in mind that if you have both an RSA and a DSA certificate you
    # can configure both in parallel (to also allow the use of DSA
    # ciphers, etc.)
    # Some ECC cipher suites (http://www.ietf.org/rfc/rfc4492.txt)
    # require an ECC certificate which can also be configured in
    # parallel.
    SSLCertificateFile "/etc/httpd/conf/server.crt"
    #SSLCertificateFile "/etc/httpd/conf/server-dsa.crt"
    #SSLCertificateFile "/etc/httpd/conf/server-ecc.crt"
    # Server Private Key:
    # If the key is not combined with the certificate, use this
    # directive to point at the key file. Keep in mind that if
    # you've both a RSA and a DSA private key you can configure
    # both in parallel (to also allow the use of DSA ciphers, etc.)
    # ECC keys, when in use, can also be configured in parallel
    SSLCertificateKeyFile "/etc/httpd/conf/server.key"
    #SSLCertificateKeyFile "/etc/httpd/conf/server-dsa.key"
    #SSLCertificateKeyFile "/etc/httpd/conf/server-ecc.key"
    # Server Certificate Chain:
    # Point SSLCertificateChainFile at a file containing the
    # concatenation of PEM encoded CA certificates which form the
    # certificate chain for the server certificate. Alternatively
    # the referenced file can be the same as SSLCertificateFile
    # when the CA certificates are directly appended to the server
    # certificate for convenience.
    #SSLCertificateChainFile "/etc/httpd/conf/server-ca.crt"
    # Certificate Authority (CA):
    # Set the CA certificate verification path where to find CA
    # certificates for client authentication or alternatively one
    # huge file containing all of them (file must be PEM encoded)
    # Note: Inside SSLCACertificatePath you need hash symlinks
    # to point to the certificate files. Use the provided
    # Makefile to update the hash symlinks after changes.
    #SSLCACertificatePath "/etc/httpd/conf/ssl.crt"
    #SSLCACertificateFile "/etc/httpd/conf/ssl.crt/ca-bundle.crt"
    # Certificate Revocation Lists (CRL):
    # Set the CA revocation path where to find CA CRLs for client
    # authentication or alternatively one huge file containing all
    # of them (file must be PEM encoded).
    # The CRL checking mode needs to be configured explicitly
    # through SSLCARevocationCheck (defaults to "none" otherwise).
    # Note: Inside SSLCARevocationPath you need hash symlinks
    # to point to the certificate files. Use the provided
    # Makefile to update the hash symlinks after changes.
    #SSLCARevocationPath "/etc/httpd/conf/ssl.crl"
    #SSLCARevocationFile "/etc/httpd/conf/ssl.crl/ca-bundle.crl"
    #SSLCARevocationCheck chain
    # Client Authentication (Type):
    # Client certificate verification type and depth. Types are
    # none, optional, require and optional_no_ca. Depth is a
    # number which specifies how deeply to verify the certificate
    # issuer chain before deciding the certificate is not valid.
    #SSLVerifyClient require
    #SSLVerifyDepth 10
    # TLS-SRP mutual authentication:
    # Enable TLS-SRP and set the path to the OpenSSL SRP verifier
    # file (containing login information for SRP user accounts).
    # Requires OpenSSL 1.0.1 or newer. See the mod_ssl FAQ for
    # detailed instructions on creating this file. Example:
    # "openssl srp -srpvfile /etc/httpd/conf/passwd.srpv -add username"
    #SSLSRPVerifierFile "/etc/httpd/conf/passwd.srpv"
    # Access Control:
    # With SSLRequire you can do per-directory access control based
    # on arbitrary complex boolean expressions containing server
    # variable checks and other lookup directives. The syntax is a
    # mixture between C and Perl. See the mod_ssl documentation
    # for more details.
    #<Location />
    #SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
    # and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
    # and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
    # and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
    # and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \
    # or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
    #</Location>
    # SSL Engine Options:
    # Set various options for the SSL engine.
    # o FakeBasicAuth:
    # Translate the client X.509 into a Basic Authorisation. This means that
    # the standard Auth/DBMAuth methods can be used for access control. The
    # user name is the `one line' version of the client's X.509 certificate.
    # Note that no password is obtained from the user. Every entry in the user
    # file needs this password: `xxj31ZMTZzkVA'.
    # o ExportCertData:
    # This exports two additional environment variables: SSL_CLIENT_CERT and
    # SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
    # server (always existing) and the client (only existing when client
    # authentication is used). This can be used to import the certificates
    # into CGI scripts.
    # o StdEnvVars:
    # This exports the standard SSL/TLS related `SSL_*' environment variables.
    # Per default this exportation is switched off for performance reasons,
    # because the extraction step is an expensive operation and is usually
    # useless for serving static content. So one usually enables the
    # exportation for CGI and SSI requests only.
    # o StrictRequire:
    # This denies access when "SSLRequireSSL" or "SSLRequire" applied even
    # under a "Satisfy any" situation, i.e. when it applies access is denied
    # and no other module can change it.
    # o OptRenegotiate:
    # This enables optimized SSL connection renegotiation handling when SSL
    # directives are used in per-directory context.
    #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory "/srv/http/cgi-bin">
    SSLOptions +StdEnvVars
    </Directory>
    # SSL Protocol Adjustments:
    # The safe and default but still SSL/TLS standard compliant shutdown
    # approach is that mod_ssl sends the close notify alert but doesn't wait for
    # the close notify alert from client. When you need a different shutdown
    # approach you can use one of the following variables:
    # o ssl-unclean-shutdown:
    # This forces an unclean shutdown when the connection is closed, i.e. no
    # SSL close notify alert is sent or allowed to be received. This violates
    # the SSL/TLS standard but is needed for some brain-dead browsers. Use
    # this when you receive I/O errors because of the standard approach where
    # mod_ssl sends the close notify alert.
    # o ssl-accurate-shutdown:
    # This forces an accurate shutdown when the connection is closed, i.e. a
    # SSL close notify alert is send and mod_ssl waits for the close notify
    # alert of the client. This is 100% SSL/TLS standard compliant, but in
    # practice often causes hanging connections with brain-dead browsers. Use
    # this only for browsers where you know that their SSL implementation
    # works correctly.
    # Notice: Most problems of broken clients are also related to the HTTP
    # keep-alive facility, so you usually additionally want to disable
    # keep-alive for those clients, too. Use variable "nokeepalive" for this.
    # Similarly, one has to force some clients to use HTTP/1.0 to workaround
    # their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
    # "force-response-1.0" for this.
    BrowserMatch "MSIE [2-5]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
    # Per-Server Logging:
    # The home of a custom SSL log file. Use this when you want a
    # compact non-error SSL logfile on a virtual host basis.
    CustomLog "/var/log/httpd/ssl_request_log" \
    "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    #SSLSessionTimeout 5m
    Timeout 600000
    <Location />
    DAV svn
    SVNParentPath /mnt/sda1/svn/repos
    AuthzSVNAccessFile /home/svn/.svn-policy-file
    AuthName "SVN Repositories"
    AuthType Basic
    AuthUserFile /home/svn/.svn-auth-file
    # Satisfy Any
    Require valid-user
    </Location>
    </VirtualHost>
    httpd.conf
    # This is the main Apache HTTP server configuration file. It contains the
    # configuration directives that give the server its instructions.
    # See <URL:http://httpd.apache.org/docs/2.4/> for detailed information.
    # In particular, see
    # <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
    # for a discussion of each configuration directive.
    # Do NOT simply read the instructions in here without understanding
    # what they do. They're here only as hints or reminders. If you are unsure
    # consult the online docs. You have been warned.
    # Configuration and logfile names: If the filenames you specify for many
    # of the server's control files begin with "/" (or "drive:/" for Win32), the
    # server will use that explicit path. If the filenames do *not* begin
    # with "/", the value of ServerRoot is prepended -- so "logs/access_log"
    # with ServerRoot set to "/usr/local/apache2" will be interpreted by the
    # server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log"
    # will be interpreted as '/logs/access_log'.
    # ServerRoot: The top of the directory tree under which the server's
    # configuration, error, and log files are kept.
    # Do not add a slash at the end of the directory path. If you point
    # ServerRoot at a non-local disk, be sure to specify a local disk on the
    # Mutex directive, if file-based mutexes are used. If you wish to share the
    # same ServerRoot for multiple httpd daemons, you will need to change at
    # least PidFile.
    ServerRoot "/etc/httpd"
    Timeout 60000
    # Mutex: Allows you to set the mutex mechanism and mutex file directory
    # for individual mutexes, or change the global defaults
    # Uncomment and change the directory if mutexes are file-based and the default
    # mutex file directory is not on a local disk or is not appropriate for some
    # other reason.
    # Mutex default:/run/httpd
    # Listen: Allows you to bind Apache to specific IP addresses and/or
    # ports, instead of the default. See also the <VirtualHost>
    # directive.
    # Change this to Listen on specific IP addresses as shown below to
    # prevent Apache from glomming onto all bound IP addresses.
    #Listen 12.34.56.78:80
    Listen 80
    # Dynamic Shared Object (DSO) Support
    # To be able to use the functionality of a module which was built as a DSO you
    # have to place corresponding `LoadModule' lines at this location so the
    # directives contained in it are actually available _before_ they are used.
    # Statically compiled modules (those listed by `httpd -l') do not need
    # to be loaded here.
    # Example:
    # LoadModule foo_module modules/mod_foo.so
    LoadModule authn_file_module modules/mod_authn_file.so
    #LoadModule authn_dbm_module modules/mod_authn_dbm.so
    #LoadModule authn_anon_module modules/mod_authn_anon.so
    #LoadModule authn_dbd_module modules/mod_authn_dbd.so
    #nach fehlermeldung
    LoadModule authn_socache_module modules/mod_authn_socache.so
    LoadModule authn_core_module modules/mod_authn_core.so
    LoadModule authz_host_module modules/mod_authz_host.so
    LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
    LoadModule authz_user_module modules/mod_authz_user.so
    #LoadModule authz_dbm_module modules/mod_authz_dbm.so
    #LoadModule authz_owner_module modules/mod_authz_owner.so
    #LoadModule authz_dbd_module modules/mod_authz_dbd.so
    LoadModule authz_core_module modules/mod_authz_core.so
    #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
    LoadModule access_compat_module modules/mod_access_compat.so
    LoadModule auth_basic_module modules/mod_auth_basic.so
    #LoadModule auth_form_module modules/mod_auth_form.so
    #LoadModule auth_digest_module modules/mod_auth_digest.so
    #LoadModule allowmethods_module modules/mod_allowmethods.so
    #LoadModule file_cache_module modules/mod_file_cache.so
    #Felhermeldung undefined symbols
    LoadModule cache_module modules/mod_cache.so
    #LoadModule cache_disk_module modules/mod_cache_disk.so
    #nach Fehlermeldung
    LoadModule cache_socache_module modules/mod_cache_socache.so
    #nochne Fehlermeldung
    LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
    #LoadModule socache_dbm_module modules/mod_socache_dbm.so
    #LoadModule socache_memcache_module modules/mod_socache_memcache.so
    #LoadModule watchdog_module modules/mod_watchdog.so
    #LoadModule macro_module modules/mod_macro.so
    #LoadModule dbd_module modules/mod_dbd.so
    #LoadModule dumpio_module modules/mod_dumpio.so
    #LoadModule echo_module modules/mod_echo.so
    #LoadModule buffer_module modules/mod_buffer.so
    #LoadModule data_module modules/mod_data.so
    #LoadModule ratelimit_module modules/mod_ratelimit.so
    LoadModule reqtimeout_module modules/mod_reqtimeout.so
    #LoadModule ext_filter_module modules/mod_ext_filter.so
    #LoadModule request_module modules/mod_request.so
    LoadModule include_module modules/mod_include.so
    LoadModule filter_module modules/mod_filter.so
    #LoadModule reflector_module modules/mod_reflector.so
    #LoadModule substitute_module modules/mod_substitute.so
    #LoadModule sed_module modules/mod_sed.so
    #LoadModule charset_lite_module modules/mod_charset_lite.so
    #LoadModule deflate_module modules/mod_deflate.so
    #LoadModule xml2enc_module modules/mod_xml2enc.so
    #LoadModule proxy_html_module modules/mod_proxy_html.so
    LoadModule mime_module modules/mod_mime.so
    #LoadModule ldap_module modules/mod_ldap.so
    LoadModule log_config_module modules/mod_log_config.so
    #LoadModule log_debug_module modules/mod_log_debug.so
    #LoadModule log_forensic_module modules/mod_log_forensic.so
    #LoadModule logio_module modules/mod_logio.so
    #LoadModule lua_module modules/mod_lua.so
    LoadModule env_module modules/mod_env.so
    #LoadModule mime_magic_module modules/mod_mime_magic.so
    #LoadModule cern_meta_module modules/mod_cern_meta.so
    #LoadModule expires_module modules/mod_expires.so
    LoadModule headers_module modules/mod_headers.so
    #LoadModule ident_module modules/mod_ident.so
    #LoadModule usertrack_module modules/mod_usertrack.so
    #LoadModule unique_id_module modules/mod_unique_id.so
    LoadModule setenvif_module modules/mod_setenvif.so
    LoadModule version_module modules/mod_version.so
    #LoadModule remoteip_module modules/mod_remoteip.so
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
    LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
    #LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
    LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    LoadModule proxy_express_module modules/mod_proxy_express.so
    #LoadModule session_module modules/mod_session.so
    #LoadModule session_cookie_module modules/mod_session_cookie.so
    #LoadModule session_crypto_module modules/mod_session_crypto.so
    #LoadModule session_dbd_module modules/mod_session_dbd.so
    LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
    #LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
    #Fuer die cipher suite
    LoadModule ssl_module modules/mod_ssl.so
    #LoadModule dialup_module modules/mod_dialup.so
    LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
    LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
    LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
    LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
    LoadModule mpm_event_module modules/mod_mpm_event.so
    LoadModule unixd_module modules/mod_unixd.so
    #LoadModule heartbeat_module modules/mod_heartbeat.so
    #LoadModule heartmonitor_module modules/mod_heartmonitor.so
    #1 for svn
    LoadModule dav_module modules/mod_dav.so
    LoadModule status_module modules/mod_status.so
    LoadModule autoindex_module modules/mod_autoindex.so
    #LoadModule asis_module modules/mod_asis.so
    #LoadModule info_module modules/mod_info.so
    #LoadModule suexec_module modules/mod_suexec.so
    #LoadModule cgid_module modules/mod_cgid.so
    #LoadModule cgi_module modules/mod_cgi.so
    #2 for svn
    LoadModule dav_fs_module modules/mod_dav_fs.so
    #LoadModule dav_lock_module modules/mod_dav_lock.so
    #LoadModule vhost_alias_module modules/mod_vhost_alias.so
    LoadModule negotiation_module modules/mod_negotiation.so
    LoadModule dir_module modules/mod_dir.so
    #LoadModule imagemap_module modules/mod_imagemap.so
    #LoadModule actions_module modules/mod_actions.so
    #LoadModule speling_module modules/mod_speling.so
    LoadModule userdir_module modules/mod_userdir.so
    LoadModule alias_module modules/mod_alias.so
    #LoadModule rewrite_module modules/mod_rewrite.so
    #3 for svn
    LoadModule dav_svn_module modules/mod_dav_svn.so
    LoadModule authz_svn_module modules/mod_authz_svn.so
    <IfModule unixd_module>
    # If you wish httpd to run as a different user or group, you must run
    # httpd as root initially and it will switch.
    # User/Group: The name (or #number) of the user/group to run httpd as.
    # It is usually good practice to create a dedicated user and group for
    # running httpd, as with most system services.
    User http
    Group http
    </IfModule>
    # 'Main' server configuration
    # The directives in this section set up the values used by the 'main'
    # server, which responds to any requests that aren't handled by a
    # <VirtualHost> definition. These values also provide defaults for
    # any <VirtualHost> containers you may define later in the file.
    # All of these directives may appear inside <VirtualHost> containers,
    # in which case these default settings will be overridden for the
    # virtual host being defined.
    # ServerAdmin: Your address, where problems with the server should be
    # e-mailed. This address appears on some server-generated pages, such
    # as error documents. e.g. [email protected]
    ServerAdmin [email protected]
    # ServerName gives the name and port that the server uses to identify itself.
    # This can often be determined automatically, but we recommend you specify
    # it explicitly to prevent problems during startup.
    # If your host doesn't have a registered DNS name, enter its IP address here.
    #ServerName www.example.com:80
    # Deny access to the entirety of your server's filesystem. You must
    # explicitly permit access to web content directories in other
    # <Directory> blocks below.
    <Directory />
    AllowOverride none
    Require all denied
    </Directory>
    # Note that from this point forward you must specifically allow
    # particular features to be enabled - so if something's not working as
    # you might expect, make sure that you have specifically enabled it
    # below.
    # DocumentRoot: The directory out of which you will serve your
    # documents. By default, all requests are taken from this directory, but
    # symbolic links and aliases may be used to point to other locations.
    DocumentRoot "/mnt/sda1"
    #<Directory "/mnt/sda1/svn/repos">
    # # Possible values for the Options directive are "None", "All",
    # # or any combination of:
    # # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    # # Note that "MultiViews" must be named *explicitly* --- "Options All"#
    # # doesn't give it to you.
    # # The Options directive is both complicated and important. Please see
    # # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # # for more information.#
    # Options Indexes FollowSymLinks
    # # AllowOverride controls what directives may be placed in .htaccess files.
    # # It can be "All", "None", or any combination of the keywords:
    # # AllowOverride FileInfo AuthConfig Limit
    # AllowOverride None
    # # Controls who can get stuff from this server.
    # Require all granted
    #</Directory>
    # DirectoryIndex: sets the file that Apache will serve if a directory
    # is requested.
    <IfModule dir_module>
    DirectoryIndex index.html
    </IfModule>
    # The following lines prevent .htaccess and .htpasswd files from being
    # viewed by Web clients.
    <Files ".ht*">
    Require all denied
    </Files>
    # ErrorLog: The location of the error log file.
    # If you do not specify an ErrorLog directive within a <VirtualHost>
    # container, error messages relating to that virtual host will be
    # logged here. If you *do* define an error logfile for a <VirtualHost>
    # container, that host's errors will be logged there and not here.
    ErrorLog "/var/log/httpd/error_log"
    # LogLevel: Control the number of messages logged to the error_log.
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    <IfModule log_config_module>
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
    # You need to enable mod_logio.c to use %I and %O
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    # The location and format of the access logfile (Common Logfile Format).
    # If you do not define any access logfiles within a <VirtualHost>
    # container, they will be logged here. Contrariwise, if you *do*
    # define per-<VirtualHost> access logfiles, transactions will be
    # logged therein and *not* in this file.
    CustomLog "/var/log/httpd/access_log" common
    # If you prefer a logfile with access, agent, and referer information
    # (Combined Logfile Format) you can use the following directive.
    #CustomLog "/var/log/httpd/access_log" combined
    </IfModule>
    <IfModule alias_module>
    # Redirect: Allows you to tell clients about documents that used to
    # exist in your server's namespace, but do not anymore. The client
    # will make a new request for the document at its new location.
    # Example:
    # Redirect permanent /foo http://www.example.com/bar
    # Alias: Maps web paths into filesystem paths and is used to
    # access content that does not live under the DocumentRoot.
    # Example:
    # Alias /webpath /full/filesystem/path
    # If you include a trailing / on /webpath then the server will
    # require it to be present in the URL. You will also likely
    # need to provide a <Directory> section to allow access to
    # the filesystem path.
    # ScriptAlias: This controls which directories contain server scripts.
    # ScriptAliases are essentially the same as Aliases, except that
    # documents in the target directory are treated as applications and
    # run by the server when requested rather than as documents sent to the
    # client. The same rules about trailing "/" apply to ScriptAlias
    # directives as to Alias.
    ScriptAlias /cgi-bin/ "/srv/http/cgi-bin/"
    </IfModule>
    <IfModule cgid_module>
    # ScriptSock: On threaded servers, designate the path to the UNIX
    # socket used to communicate with the CGI daemon of mod_cgid.
    #Scriptsock cgisock
    </IfModule>
    # "/srv/http/cgi-bin" should be changed to whatever your ScriptAliased
    # CGI directory exists, if you have that configured.
    <Directory "/srv/http/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
    </Directory>
    <IfModule mime_module>
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    TypesConfig conf/mime.types
    # AddType allows you to add to or override the MIME configuration
    # file specified in TypesConfig for specific file types.
    #AddType application/x-gzip .tgz
    # AddEncoding allows you to have certain browsers uncompress
    # information on the fly. Note: Not all browsers support this.
    #AddEncoding x-compress .Z
    #AddEncoding x-gzip .gz .tgz
    # If the AddEncoding directives above are commented-out, then you
    # probably should define those extensions to indicate media types:
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    # AddHandler allows you to map certain file extensions to "handlers":
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action directive (see below)
    # To use CGI scripts outside of ScriptAliased directories:
    # (You will also need to add "ExecCGI" to the "Options" directive.)
    #AddHandler cgi-script .cgi
    # For type maps (negotiated resources):
    #AddHandler type-map var
    # Filters allow you to process content before it is sent to the client.
    # To parse .shtml files for server-side includes (SSI):
    # (You will also need to add "Includes" to the "Options" directive.)
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
    </IfModule>
    # The mod_mime_magic module allows the server to use various hints from the
    # contents of the file itself to determine its type. The MIMEMagicFile
    # directive tells the module where the hint definitions are located.
    #MIMEMagicFile conf/magic
    # Customizable error responses come in three flavors:
    # 1) plain text 2) local redirects 3) external redirects
    # Some examples:
    #ErrorDocument 500 "The server made a boo boo."
    #ErrorDocument 404 /missing.html
    #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
    #ErrorDocument 402 http://www.example.com/subscription_info.html
    # MaxRanges: Maximum number of Ranges in a request before
    # returning the entire resource, or one of the special
    # values 'default', 'none' or 'unlimited'.
    # Default setting is to accept 200 Ranges.
    #MaxRanges unlimited
    # EnableMMAP and EnableSendfile: On systems that support it,
    # memory-mapping or the sendfile syscall may be used to deliver
    # files. This usually improves server performance, but must
    # be turned off when serving from networked-mounted
    # filesystems or if support for these functions is otherwise
    # broken on your system.
    # Defaults: EnableMMAP On, EnableSendfile Off
    #EnableMMAP off
    #EnableSendfile on
    # Supplemental configuration
    # The configuration files in the conf/extra/ directory can be
    # included to add extra features or to modify the default configuration of
    # the server, or you may simply copy their contents here and change as
    # necessary.
    # Server-pool management (MPM specific)
    Include conf/extra/httpd-mpm.conf
    # Multi-language error messages
    Include conf/extra/httpd-multilang-errordoc.conf
    # Fancy directory listings
    Include conf/extra/httpd-autoindex.conf
    # Language settings
    Include conf/extra/httpd-languages.conf
    # User home directories
    Include conf/extra/httpd-userdir.conf
    # Real-time info on requests and configuration
    #Include conf/extra/httpd-info.conf
    # Virtual hosts
    #Include conf/extra/httpd-vhosts.conf
    # Local access to the Apache HTTP Server Manual
    #Include conf/extra/httpd-manual.conf
    # Distributed authoring and versioning (WebDAV)
    #Include conf/extra/httpd-dav.conf
    # Various default settings
    Include conf/extra/httpd-default.conf
    # Configure mod_proxy_html to understand HTML4/XHTML1
    <IfModule proxy_html_module>
    Include conf/extra/proxy-html.conf
    </IfModule>
    # Secure (SSL/TLS) connections
    Include /etc/httpd/conf/extra/httpd-ssl.conf
    # Note: The following must must be present to support
    # starting without SSL on platforms with no /dev/random equivalent
    # but a statically compiled-in mod_ssl.
    <IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    </IfModule>
    # uncomment out the below to deal with user agents that deliberately
    # violate open standards by misusing DNT (DNT *must* be a specific
    # end-user choice)
    #<IfModule setenvif_module>
    #BrowserMatch "MSIE 10.0;" bad_DNT
    #</IfModule>
    #<IfModule headers_module>
    #RequestHeader unset DNT env=bad_DNT
    #</IfModule>
    Edit: inserted tl;dr
    Last edited by arch_on_pi (2014-05-18 21:33:24)

    Remember that Arch Arm is a different distribution, but we try to bend the rules and provide limited support for them.  This may or may not be unique to Arch Arm, so you might try asking on their forums as well.

  • Very hard to Upgrade device & Service

    I have a Motorola W755, since I have stayed behind on the wireless technology, figure it is time to upgrade to a smart phone. After several days of research I have found that "Samsung Galaxy S2" will suit my needs.
    Then to find out Verizon does not have this phone (no the Samsung Stratosphere is not the same).
    So I was trying to compromise and settle with the Apple iPhone 4S. I am realistic with technology, once device is release to sell it is already out dated.
    After speaking with a representative, I am unable to receive a free upgrade, also I have learned more discouraging news about my service. As I stated previously, I spent several days researching.
    During my research I have found that AT&T has the "Samsung Galaxy S2", also 3% more discount due to where I work. Would still have to purchase phone at the reasonable price offered (which I am trying to negotiate to get free) though I  was offered the iPhone 3GS free if I sign up.
    Now the wheels are spinning, do I upgrade my existing contract and settle for what I have or about to have (nothing against Verizon, service is good), or do I go for the phone I want and the 3% additional discount (change can be a scary moment).
    I believe if you have to sign a contract for service, you should get the phone you want for free, since 2 months billing paid for the phone at high mark up if not more. Just a thought.
    Also, why Verizon not buy top of the phones has got me. You want the best network you must have best devices.
    Now all is stated, what would you do?

    well said...
    spottedcatfish wrote:
    What would I do?  Adjust my expectations, and quickly, if I didn't want to be continually disappointed with my cellphone and cell service provider...
    Even years and years ago, when smartphones hadn't been invented, and flip phones were the cool new thing (a serious upgrade over those candy-bar Nokias!), not every phone in the store was "free" with a contract extension.  Today, you'll find that to be even more true, mostly because the cost and quality of high end phones has increase substantially.  At full retail, a top-end brand-new iPhone will run you $750, about the cost of a moderate laptop, which is with good reason, that iPhone outpowers many laptops in one respect or another, and the thing fits in your pockets.  Sometimes, it even makes phone calls.
    Even when you pay $200 for a smartphone, you're still getting a $400+ discount off the cost of a new phone.  It's a pretty good deal, and it prices lot of people into the smartphone market.  You're not not going to be able to negeotiate a free upgrade to a recently released top-end smartphone, with any carrier.  Did you notice that AT&T is offering you an iPhone from two generations ago for free?  That's hardly top-tier, and Verizon has some two generation old Android phones at a similar price.
    If you get a better price on your monthly service with AT&T and get decent signal with them, switch.  That's the beauty of not being in contract, you go can go for the better deal.  If you need Verizon's network footprint and signal, then stay on this side of the fence.  The Galaxy Nexus is coming out shortly, and it will be a top of the line phone featuring the latest and greatest in Android.  Or you can order the iPhone4S if that's more your cup of tea.  Another option would be to buy a phone of your choice used (older model iPhones are quite easy to acquire at a good price online) and activate it with the carrier of your choice and be free of a contract.
    You've got options, but they don't include top of the line $600-$700 pieces of equipment for free.

  • Lenovo Browser Guard Service - Culprit for CPU hogging.

    I noticed yesterday that an object called WMI Provider Host was constantly using up around 10%average to 30% maximum of my CPU at some times. I looked into WMI Provider Host further and found out lots of services connect to this, making it hard to find the root cause of the problem. 
    After hours of trying to find the cause, I gave up and decided to start switching off services one by one. When I got round to turning off the Lenovo Browser Guard Service I noticed that it immediatly reduced the WMI Provider Host CPU usage to around what I presume is the normal 1-2% 
    I thought I should notify you of the problem as I find it pretty amazing that Lenovo Browser Guard is such a burdon on the CPU, something must be wrong with it. 
    Is this happening to anyone who has this software installed? I understand it's preloaded onto their PC's. 
    It may of been happening to me in the past but I just didn't notice it, it only came to my attention when online streaming websites like Twitch started to slow. 
    I'm running a Lenovo Z50-70

    Hi opplo,
    I do not have Lenovo Browser Guard on my computers, so I cannot speak from personal experience. If you decide that you do not want LBG, it can be removed easily via Programs > Uninstall.
    ThinkPad: T530 / X1 Gen 2 / Helix - Yoga: Tablet 2 Pro (Win) / Yoga 3 Pro
    If you find a post helpful and it answers your question, please click the "Accept As Solution" button.
    Lenovo Advocate ~ I am not employed by Lenovo or Microsoft. I am a volunteer.
    Microsoft MVP - Consumer Security
    SpywareHammer

  • Literally the worst customer support experience I've ever had to deal with -- Why don't they let their customers speak to supervisors on demand?

    Call 1: I spoke to them to see if I was eligible for an upgrade. It turned out they had accidentally counted a temporary phone switch to an old device as an upgrade. The representative was extremely slow minded and took over an hour to read through my notes and process what I was saying happened, consulting with his supervisor multiple times. He claimed to have noted everything and told me I had to go to a verizon store to verify in person that I was still using my original phone, and that then I would be able to get an upgrade immediately.
    Trip to the store: Drove an hour only to be told by the store rep that there were NO NOTES on my account about the issue and there was nothing he could do to help me and that I'd have to call customer support again. The store was closing in 20 mins and customer support seems to take 45 minutes minimum to resolve anything, so I left.
    Call 2: Asked a woman to speak to a supervisor about the guy who wasted 2+ hours of my life and gas money. She put me on hold for a long time, came back and said they were all busy right now, would I like to leave my complaint with her? I said no thank you, I will keep waiting. She said ok, and proceeded to hang up.
    Call 3: Asked a different woman to speak to a supervisor, she put me on hold for a long time and then told me that since I wasn't an authorized user I could not speak to one... lol ok. Had a family member call and authorize me.
    Call 4: Asked a guy to speak to a manager. He insisted on taking the complaint himself. Why would I trust someone to take a complaint about their colleague possibly sitting a few desks away when many of them have proven to be incredibly incompetent already? It sounded like we were making progress... then he hung up too.
    Call 5: Asked yet another woman to speak to the manager. She demanded a reason, I told her it was to make a complaint and she told me about a dozen times that the managers would just tell her to take the complaint. I insisted, she refused... finally I threatened to close all of our accounts unless she let me speak to a manager. She said they couldn't right now since the office was closing soon, but that one would call me within 24-48 hours. I'd bet my life savings that never happens. At that point I tried to talk to her about the original upgrade issue, and she said her system had suddenly crashed and that I'd have to call back the next day...  Seriously???
    Absolutely unreal how horrible their customer support is. Will be switching to T-Mobile immediately.

    Having worked in customer service, I have some experience with this kind of situation.  Reps are typically trained to make all attempts to handle complaints by themselves, because there are obviously many more reps than supervisors.  They're usually REQUIRED to fully authorize the account and to get the whole situation from the customer prior to referring you to a supervisor.  One of the biggest problems is that many customers think that demanding a supervisor is a way to guarantee you will get what you want.  If the reason for your request to escalate isn't a valid one, the supervisor won't give in to you either.
    There are plenty of times in my own experience, especially as a brand new rep out of training, that I took a long time to research and get an understanding of the issue.  Yes, I wasn't moving at light speed, but that doesn't make me an idiot.  It means I was trying to gather as much info s possible to try and deal with the issue. But I had plenty of customers tell me I was stupid and to transfer them to my supervisor, simply because I took longer than their patience could tolerate to get all the details I needed.
    I have never had a job that I executed flawlessly day in and day out.  Maybe you have and that's why you can't tolerate a person taking a little longer to wrap their head around the issue, but I'd rather doubt it.
    I also don't think you will find reps who work at light speed and utilize a magic wand to fix people's issues at T-Mobile, either, but I guess it never hurts to try.
    Just to clarify: I do not work for Verizon and never have.  I worked for a residential phone and internet company.

  • How to deal with several itunes users in a house

    I will try to be brief but explain what I don't know how to configure.
    We have three children. We have 5 laptops that work wirelessly, and we have music and photos all stored on a shared NAS drive. We moved our iTunes music folder successfully to it when we set up.
    1. We set everyone's folder location, under preferences, to the folder on the NAS drive.--- It won't stay. With any reboot or interruption in signal it switches back to the individual computer's hard drive. This is a pain, because every time you reset it, you have to wait for 30 gigs of music to update. This has been asked before and no one answers it. Is it a bug and is Apple aware?
    2. I understand that we can "share" our libraries. But how do we deal with the issue of individual family members purchasing songs from iTunes? As in, I would like to add songs my teen bought to my ipod, but how do I know if there is new music beside asking them to "log" all their purchased so I can manually look for them. We can't just sync every time. They have nanos, and I don't want to have to weed through Christmas music, audio books, and Kidz Bop each time and delete them. What about someone finding they are not "authorized" to play a song? We can have 5 authorized no? I tried to drag something from a shared library onto an ipod and it wouldn't let me.
    Please help. My last question dropped to page three by the end of the day with no response.

    I guess then I need to read more about my NAS drive, because it is always on. I read in another thread about the same issue the question was asked, "Is your NAS drive mounted?" I have no idea what that means. There was other ideas of making alias of the NAS iTunes folder and putting in on the laptop's dock, but I didn't quite understand that either.
    I thought NAS was a rapper. Well, I have no idea what a NAS drive is. But it should have no influence on iTunes' behavior. If that drive is always on and visible on your Desktop (= "mounted"), iTunes shouldn't change its settings re. its Library.
    It would be easier to draw all this instead of explaining, but, well, we are not that far yet.
    0: If you set up on all Macs that iTunes stores its files on one drive, iTunes should not change this on any of them as long as it is always on, as you said. If it does, thought, something is wrong. Don't ask me, what.
    Ok, just to make this even more complicated, LOL if each person has their own laptop and ipod, and everyone in the household has used their 5 authorizations on each other's computers, then theoretically, when everyone accesses the itunes library they should be able to copy the songs onto their devices?
    1: You can play all your music on this external drive from anywhere in the house.
    2: You can activate the DRM files on every Mac in the house and play them.
    3: You canNOT use one iPod on more than one Mac, regardless if the music is DRM or not. iPod 1 is associated with Mac A, iPod 2 with Mac B etc. If you change that, all music from iPod 1 will be deleted before the music from Mac B will be copied to it. So, it's always 1:A, 2:B etc., not iPod 1 : Mac A & B & C... Otherwise, your iPods would be regular external hard drives from which you could copy tons of music to someone else's PC, which is illegal. That's why all the music on an iPod is made invisible. And even after making it visible with special utilities (I tried that once), you won't be able to recognize which song is which. CDs are not stored together, etc. Apple would not have got the permissions for the iTunes Store / iPods from the music industry if it was the perfect utility for illegal music sharing.
    Did I savvy what you meant?

Maybe you are looking for