Search Results

Search found 18521 results on 741 pages for 'tcp window scaling'.

Page 413/741 | < Previous Page | 409 410 411 412 413 414 415 416 417 418 419 420  | Next Page >

  • Why is the top menu-bar not accessable when previewing open windows of an application?

    - by coversnail
    If I have more than one window of the same application running then clicking its icon in the launcher displays a preview of that application's open windows, When this preview is activated I can't click on any of the icons in the Ubuntu menu-bar/panel/top bar (although hovering over them does highlight the icons). It seems odd that you can highlight the icons but pressing them has no effect. Is this behaviour normal, a bug, or a slight design flaw? I only noticed because I wanted to shut down when previewing the open windows and couldn't click on the panel power icon.

    Read the article

  • E-Business Suite R12 Certified on 2012 Hyper-V Windows Guests

    - by John Abraham
    Oracle E-Business Suite Release 12 (12.1) is now certified on Windows Server 2008 (32-bit) and Windows Server 2008 R2 running as guest operating systems within Window Server 2012 Hyper-V virtual machines. Hyper-V is a built-in feature of Microsoft Windows Server that allows for the creation and management of virtualized computing environments. With this certification, the E-Business Suite is now supported on the above Windows virtualized guest operating systems in a similar way to non-virtualized Windows. References Note 761567.1 - Oracle E-Business Suite Installation and Upgrade Notes Release 12 (12.1.1) for Microsoft Windows Server (32-bit) Note 1188535.1 - Migrating Oracle E-Business Suite R12 to Microsoft Windows Server 2008 R2 Note 1563794.1 - Certified Software on Microsoft Windows Server 2012 Hyper-V Windows Server Hyper-V Overview

    Read the article

  • Node Serialization in NetBeans Platform 7.0

    - by Geertjan
    Node serialization makes sense when you're not interested in the data (since that should be serialized to a database), but in the state of the application. For example, when the application restarts, you want the last selected node to automatically be selected again. That's not the kind of information you'll want to store in a database, hence node serialization is not about data serialization but about application state serialization. I've written about this topic in October 2008, here and here, but want to show how to do this again, using NetBeans Platform 7.0. Somewhere I remember reading that this can't be done anymore and that's typically the best motivation for me, i.e., to prove that it can be done after all. Anyway, in a standard POJO/Node/BeanTreeView scenario, do the following: Remove the "@ConvertAsProperties" annotation at the top of the class, which you'll find there if you used the Window Component wizard. We're not going to use property-file based serialization, but plain old java.io.Serializable  instead. In the TopComponent, assuming it is named "UserExplorerTopComponent", typically at the end of the file, add the following: @Override public Object writeReplace() { //We want to work with one selected item only //and thanks to BeanTreeView.setSelectionMode, //only one node can be selected anyway: Handle handle = NodeOp.toHandles(em.getSelectedNodes())[0]; return new ResolvableHelper(handle); } public final static class ResolvableHelper implements Serializable { private static final long serialVersionUID = 1L; public Handle selectedHandle; private ResolvableHelper(Handle selectedHandle) { this.selectedHandle = selectedHandle; } public Object readResolve() { WindowManager.getDefault().invokeWhenUIReady(new Runnable() { @Override public void run() { try { //Get the TopComponent: UserExplorerTopComponent tc = (UserExplorerTopComponent) WindowManager.getDefault().findTopComponent("UserExplorerTopComponent"); //Get the display text to search for: String selectedDisplayName = selectedHandle.getNode().getDisplayName(); //Get the root, which is the parent of the node we want: Node root = tc.getExplorerManager().getRootContext(); //Find the node, by passing in the root with the display text: Node selectedNode = NodeOp.findPath(root, new String[]{selectedDisplayName}); //Set the explorer manager's selected node: tc.getExplorerManager().setSelectedNodes(new Node[]{selectedNode}); } catch (PropertyVetoException ex) { Exceptions.printStackTrace(ex); } catch (IOException ex) { Exceptions.printStackTrace(ex); } } }); return null; } } Assuming you have a node named "UserNode" for a type named "User" containing a property named "type", add the bits in bold below to your "UserNode": public class UserNode extends AbstractNode implements Serializable { static final long serialVersionUID = 1L; public UserNode(User key) { super(Children.LEAF); setName(key.getType()); } @Override public Handle getHandle() { return new CustomHandle(this, getName()); } public class CustomHandle implements Node.Handle { static final long serialVersionUID = 1L; private AbstractNode node = null; private final String searchString; public CustomHandle(AbstractNode node, String searchString) { this.node = node; this.searchString = searchString; } @Override public Node getNode() { node.setName(searchString); return node; } } } Run the application and select one of the user nodes. Close the application. Start it up again. The user node is not automatically selected, in fact, the window does not open, and you will see this in the output: Caused: java.io.InvalidClassException: org.serialization.sample.UserNode; no valid constructor Read this article and then you'll understand the need for this class: public class BaseNode extends AbstractNode { public BaseNode() { super(Children.LEAF); } public BaseNode(Children kids) { super(kids); } public BaseNode(Children kids, Lookup lkp) { super(kids, lkp); } } Now, instead of extending AbstractNode in your UserNode, extend BaseNode. Then the first non-serializable superclass of the UserNode has an explicitly declared no-args constructor, Do the same as the above for each node in the hierarchy that needs to be serialized. If you have multiple nodes needing serialization, you can share the "CustomHandle" inner class above between all the other nodes, while all the other nodes will also need to extend BaseNode (or provide their own non-serializable super class that explicitly declares a no-args constructor). Now, when I run the application, I select a node, then I close the application, restart it, and the previously selected node is automatically selected when the application has restarted.

    Read the article

  • dead keys not working in java app

    - by jippie
    The Arduino IDE is based on a java application called processing. While typing text into processing, it refuses to accept any of the characters under dead keys like " ' ^. As a work around I: Open another window (usually my browser or mail client); I type the character I need; Select and copy the character onto my clip board; Copy the character into processing. What do I have to do to make processing accept characters under dead keys? Disabling dead keys is not an option.

    Read the article

  • About grub rescue command line

    - by khai
    Please help me.. I have two hard disk in my laptop..window 7 and ubuntu.. I have problem to back in option menu..because i enter one of the list of ubuntu.. In option menu,,have a list which operatg system i can choose between ubuntu n window7 but the list stil have another menu for ubuntu..i make mistake to choose the another list of ubuntu..and now i have to fix the command line that have grub rescue.. like this : error : no such partition grub rescue > i dont have any idea to fix this problem..i try the another step that i see at the other question but still dont have any answer..this problem is just i enter the another list but do not have any kernel,problem or somethg like that..

    Read the article

  • why is emacs allowing multiple instances?

    - by Chad
    Around the time I fresh installed Ubuntu 12.04, I noticed that I can start multiple instances of Emacs. I find this annoying because I will think that a buffer should be open, but I'm in the wrong Emacs window. I may have changed something in .emacs, but I really don't think I did. I also reverted all of my customizations that are stored in ~/.emacs.d/custom.el. Emacs previously would give some error about another emacs server being open when I would attempt to start an additional instance of it, but it no longer does this. Any ideas on how to restore this behavior?

    Read the article

  • TestDrive equivalent for Ubuntu Server

    - by Marius Gedminas
    Every now and then I'd like to play with a fresh minimal install of Ubuntu (to test sysadminish scripts, application install instructions, package dependency lists etc.). I'd like to have a tool as simple to use as testdrive: pick a version (say, 'maverick'), run a command, get a shell in a new virtual machine. I'd like that shell to be in the current terminal, rather than a new GUI window that testdrive uses. Setting up the new VM to accept SSH logins with my ssh public key is fine. I'd like the VM to have network access out of the box; NAT to a virtual network interface is fine. Why a VM? Chroots don't really cut it: installing, say, Apache in a chroot would fail because it would try to listen on port 80, which is already taken. Containers might work, though, if there are any that are supported by standard Ubuntu kernels.

    Read the article

  • Keyword does not work in dash

    - by sev
    Since the last update of my OS ubuntu 11.10, I am not able to type in the dash. In any other application (like Firefox for this message), the keyboard is working fine, but in the dash "window" of unity (I am not sure what it is called officially), the keyboard is buggy. Sometimes I manage to enter one or two characters, but most of the time nothing appears as if the key-press signal was not received. Before the update, I actually was working with gnome-classic (I had removed unity from oneiric). The update seemed to have reinstalled unity, but something apparently is missing or damaged. Does anybody have a clue about what could be done to repair the dash?

    Read the article

  • Google's Opinion on Javascript Page Refresh

    - by user35306
    I was wondering if anyone knows Google's view on this. My company has a homepage that features a lot of 3rd parties on it and it needs to inform customers which ones are currently online, which aren't, and which are currently busy. Because this constantly changes, we have the homepage refresh to show the most relevant and up-to-date content to our users. I'm not using a meta refresh element in the http-equiv parameter to do this. Instead I have this js element to refresh the page: window.setTimeout("refreshPage()", 120000); I just want to know whether people think Google might consider this a violation of the content guidelines or not. Or if it's not an outright violation, then at least if Google frowns on this or not. It doesn't redirect the user to a different page or anything, just refreshes the page so that they can see the most relevant content.

    Read the article

  • Override Built-In Maverick Keyboard Shortcuts

    - by jrc03c
    Having used the Command+M keyboard shortcut to minimize windows in OS X, I'd like to use the same functionality in Ubuntu 10.10. When I try, though, it only brings up the "communications" section of the indicator applet; like so: In the Keyboard Shortcuts preferences, I have set as the minimize shortcut Mod4+M, which I got by capturing the Apple Command key and the M key. I find no other shortcut using this key combination in Keyboard Shortcuts, and yet I cannot get the window to minimize when using it. Does anyone know how to override Ubuntu's default usage of this key combination? Thanks!

    Read the article

  • How can I assign actions to all my mouse buttons?

    - by torbengb
    I have a mouse with lots of buttons, but it's not a mainstream make like Logitech. For Windows, I have a driver that lets me assign actions like close-window (Ctrl+W) or next-tab (Ctrl+Tab), but I don't have a Linux driver. Since Linux is so flexible, I thought perhaps there is a general way to do this, regardless of brand? Update: Based on input from Cyrex, I installed and ran sudo apt-get install btnx which found several but not all mouse buttons. Found: left, right, wheel, wheelclick, thumb fwd, thumb back. Not found: wheel left, wheel right, thumb middle button. Vendor ID is 0x04d9, Model ID is 0xa015.

    Read the article

  • Assign keys to commands in Terminal?

    - by NES
    Is there a solution to assign special key combinations to words in terminal use. For example the less command is very usefull and i use i a lot to pipe the output of another process through it. The idea would be to set up special key combinations that are only active in terminal use assigned to write different commands? So pressing CTRL + l in terminal window could write | less or CTRL + G could stand for | grep Note: i just mean adding the letters to commandline not execute the finally. A similar way what's tabcompletion but more specific.

    Read the article

  • copy & paste in VirtualBox remote console when running headless

    - by katsumii
    One can run VirtualBox guest in "headless" mode and access it using Remote Destkop Protocol(RDP) client.This is typical when VBox server is installed on Linux/Solaris where X-window stuff is not installed and users useWindows to access the VM.So, one can install OS into VBox guests using Remote Desktop client.(e.g. mstsc.exe)Here's the setting. One lesser known feature here is that you can copy&paste into and out-of VM guest and your client.Apparently, "VMware Workstation" still doesn't support it. VMware Workstation Documentation CenterYou cannot copy and paste text between the host system and the guest operating system   

    Read the article

  • application custom stock icons not working in ubuntu unity top panel menu (aka appmenu) ("Menus Have Icons" ON)

    - by giuspen
    I recently noticed that in ubuntu unity the top menu of my apps does not show the (custom) icons I added to the gtk stock, but only the basic gtk stock icons. This happens only since the top menu is displayed in the unity top panel (appmenu) and not in the application window. In place of the correct custom icons I see "gtk-missing-image". On my apps toolbars and other menus those icons are displayed properly, the problem is only with the top menu. This happens either with pygtk2 (e.g. http://www.giuspen.com/cherrytree/) and gobject introspection (e.g. http://www.giuspen.com/nautilus-pyextensions/). I use gtk ui manager after integrating the stock icons this way: factory = gtk.IconFactory() pixbuf = gtk.gdk.pixbuf_new_from_file(filepath) iconset = gtk.IconSet(pixbuf) factory.add(stock_name, iconset) factory.add_default() If anybody solved this problem please help. Cheers, Giuseppe.

    Read the article

  • KVM switching from lower resolution system resets Ubuntu high resolution

    - by Ed Manet
    I'm running 12.04 desktop on my main desktop and it's hooked to a KVM (IOGear miniview) that shares the peripherals with a SLES 11 machine. The SLES 11 machine can't get the same resolution as the Ubuntu machine because of different graphics hardware. If I switch from Ubuntu to SLES and stay there too long, when I switch back to Ubuntu the screen resolution on Ubuntu is reset to the same as SLES. I can get it back easily just opening the Displays configuration; it immediately resets to the high resolution as soon as the Displays window opens. But all my open windows have been maximized and it's a P.I.T.A. having to resize them all again. How do I get it to just stay at the high resolution between switching between systems? Is there a setting in the Xorg conf file I need to set?

    Read the article

  • Does dist-upgrade require PPA software to be uninstalled first?

    - by seb
    Hi all, I'm still running Ubuntu 10.04 with quite a few PPAs. Amongst the PPAs there is Guiodic (Guido Iodice) Lucid quasi-rolling :) PPA which brings most recent versions of many programs to my desktop. My steps: sudo update-manager -d click on upgrade on the appearing window wait for the magic to happen: prepare to upgrade and setting new software channels during 'calculating the changes' I will get the following error message in the panel An error occurred, please run Package Manager form the right-click menu or apt-get in a terminal to see what is wrong. The error message was: ' Error: Marking the upgrade (E:Error, pkgProblemResolver::Resolver generated breaks, this may be caused by help packages.)'This usually means that your installed packages have unmet dependencies When I check Synaptic/apt-get I can't find any errors or hint toward broken packages Could this error be because of many PPA versions being newer than 10.04 original versions?

    Read the article

  • How do I reload the clock applet?

    - by Agmenor
    It seems I am running this bug. Sometimes my clock applet just stops running, and I have a pop-up window saying 'The clock has quit unexpectedly'. Between 'Reload' and 'Close', I have unfortunately chosen the second option. Even if I have rebooted, I cannot launch the applet anymore. I am on Ubuntu 10.10. Can somebody give me the command line that I could use in the application launcher appearing when Alt + F2 are hit ? Or any other solution in order to recover the applet on the gnome-panel ?

    Read the article

  • Xobni Plus for Outlook [Review]

    - by The Geek
    Overview Xobni Plus is an addin that will bring a sidebar to Outlook which allows you to search through your inbox and contacts a lot easier. It provides the ability to search and keep track of your favorite social networks. Searching with Xobni is a lot more powerful than the default search feature in Outlook. It let’s you drill down your searches to conversations, email, links, and attachments. It now supports Outlook 2010 both 32 & 64-bit versions. Installation & Setup Installation is easy following the wizard. After completing the wizard you can tell you’re friends on Facebook and Twitter that you are now using it. You can also decide to join their Product Improvement Program if you want. After installation when you open Outlook, Xobni appears as a sidebar on the right side. Don’t worry about it always being in the way, as you can hide it if you need more room for other Outlook functions. After Xobni free is installed, you can upgrade to the Plus version at any time. A new window will open up and you can use your Credit Card, PayPal, or redeem a code if you have one. Features & Use Where to begin with the amount of features available in Xobni Plus? It really has an amazing amount of cool features. Of course you’ll have all of the features of the Free Version which we previously covered…and a lot more. After Xobni is installed you’ll notice a section for it on the Ribbon. From here you can search Xobni, show or hide the Sidebar, and change other options. It allows you to easily keep up with various social networks like Facebook, Twitter, and LinkedIn… Check out email analytics and contact ranks. Click on the Files Exchanged tab to search for specific attachments. Quickly search links exchanged with your contacts. Hover over a link to get a preview of what it entails. It gives you the ability to index all of your Yahoo mail as well, without the need for purchasing Yahoo Plus! Then your Yahoo messages appear in the Xobni sidebar. When you select a contact you can see related messages from you Yahoo account. Easily index all of your mail…including Yahoo mail for better organization and faster search results. There are several options you can select to change the way Xobni works. From setting up your Yahoo email, Indexing options, and much more. Additional Features of Xobni Plus Advanced Search Capabilities – Filter results, Boolean & Phrase Search, Ability to search Appointments & Tasks, Advanced Search Builder Search unlimited PST data files Xobni contacts in the compose screen Find links exchanged with your contacts View calendar appointments One year premium tech support No Ads! Performance We ran Xobni Plus on Outlook 2010 32-bit on a Dual-Core AMD Athlon system with 4GB of RAM and found it to run quite smoothly. However, we did notice it would sometimes slow down launching Outlook, especially if other apps are running at the same time. Product Support When you buy a license for Xobni Plus you get a full year of premium tech support. They provide a Questions and Answers page on their site where you can run a search query and answers appear instantly. You can contact support directly as a Plus member through their web form and they advise the turn around time is 2 business days. However, when we tested it, we received a response within 24 hours. They also provide FAQ, Community forum, and you can download the Owners Manual in PDF format from the support page. Conclusion Xobni Plus is a very powerful addin for Outlook and includes a lot more features that we didn’t cover in this review. You can download Xobni free edition which includes an 8 day free trial of the Plus version. This provides a good way to start getting familiar with it. Then upgrade to Xobni Plus at any time for $29.95. Once you get started, you’ll find the sidebar is nicely laid out and intuitive to use. If you live out of Outlook during the day, Xobni Plus is a great addition for fast and powerful searches. It provides an easy way to keep all of your contacts and messages well organized and easy to find. Xobni Plus works with XP, Vista, and Windows 7 (32 & 64-bit editions) Outlook 2003, 2007 and both 32 & 64-bit editions of Outlook 2010. Download Xobni Plus Download Xobni Free Edition Rating Installation: 8 Ease of Use: 8 Features: 9 Performance: 8 Product Support: 8 Similar Articles Productive Geek Tips Xobni Free Powers Up Outlook’s Search and ContactsCreate an Email Template in Outlook 2003Add Social Elements to Your Gmail Contacts with RapportiveChange Outlook Startup FolderClear Outlook Searches and MRU (Most Recently Used) Lists TouchFreeze Alternative in AutoHotkey The Icy Undertow Desktop Windows Home Server – Backup to LAN The Clear & Clean Desktop Use This Bookmarklet to Easily Get Albums Use AutoHotkey to Assign a Hotkey to a Specific Window Latest Software Reviews Tinyhacker Random Tips Xobni Plus for Outlook All My Movies 5.9 CloudBerry Online Backup 1.5 for Windows Home Server Snagit 10 10 Superb Firefox Wallpapers OpenDNS Guide Google TV The iPod Revolution Ultimate Boot CD can help when disaster strikes Windows Firewall with Advanced Security – How To Guides

    Read the article

  • YouTube: How to Style an AngularJS App on the Device

    - by Geertjan
    I installed the Droid@Screen plugin into NetBeans IDE 8 so that you can see the Android device that I held in my hand while doing the demo below. The demo shows the usage of the Terminal window to create an Ionic Framework application (from "tabs", which is one of the cool templates that the framework provides), i.e., that means I can use AngularJS to create a Cordova application out of the box, with many mobile-oriented components available out of the box. Then I deploy the app to the Chrome browser on Android, which means I can interact with it in NetBeans, e.g., for CSS styling and JavaScript debugging. In this demo, I show how the background color of the deployed app can be changed live from NetBeans. After that, once I'm happy with the styling, I deploy the app again, but this time as a Cordova app, i.e., a hybrid HTML5 application, which means the app is packaged as a native app and deployed directly to the device from NetBeans. All of the above can be viewed here in about 4 minutes in this silent movie: Direct link to the (silent) movie: https://www.youtube.com/watch?v=isP5TNI3kYk

    Read the article

  • Screen has 1px vertical dead area on the right side

    - by pileofrocks
    Meaning that I can not click anything on that 1px vertical area (such as scrollbars). Illustration (purple = screen, black = the dead area): I am thinking Compiz has to be the main suspect, especially as on a guest account, this problem does not exist. I have a dual-monitor setup and this does not happen on the 2nd screen. However, turning off the 2nd display does not make any difference. I had this issue already before upgrading to 13.10 and while doing that, I also resetted all Compiz settings and re-loaded my profile configuration file. I have tried disabling all Compiz plugins under "Window Management" What next?

    Read the article

  • Why is the file /var/crash/_usr_lib_empathy_empathy-chat.1000.upload empty?

    - by user43816
    I just experienced an unusual crash: I tried to click on a name entry in the contact list of Empathy. A crash happened. Usually I am asked then if I'd like to report the error to Launchpad, and Launchpad opens. This time the error message was: "Excuse me. Ubuntu 12.04 noticed an internal error. If you notice further problems try to restart your computer. Send an error report to Launchpad to help removing this problem?" This time Launchpad did not open automatically. A new window opened and I could read the relevant error report. Later I found the error report in the file /var/crash/_usr_lib_empathy_empathy-chat.1000.crash. Why went the course of action this time differently from other crashes? Why is the file /var/crash/_usr_lib_empathy_empathy-chat.1000.upload empty?

    Read the article

  • Scrambled screen on 12.04 with Radeon HD 7670M/2GB when scrolling the page

    - by Mihkel
    I have Ubuntu 12.04 LTS 64 bit and I have installed proprietary drivers for my Radeon HD 7670M with 2GB memory. But if I scroll page or do anything like move a window then I get blurred screen (more like scrambled maybe) for a second and if I try to take PrtScr of it, it is goes to normal. I have tried other drivers and it does not solve my problem. And I do not want to go over 32 bit Ubuntu because I have 6 GB ram and I would lose so much of it. Also if it helps, my processor is Intel® Core™ i5-3210M CPU @ 2.50GHz × 4.

    Read the article

  • How can I change the wallpaper using a Python script?

    - by furtelwart
    I want to change my wallpaper in Ubuntu 11.10 (with Unity) in a small Python script. I found the possibility to change it via the gconf-editor in /desktop/gnome/background/picture_filename. With python-gconf, I'm able to change the necessary values. Apparently, the gconf string is not read out. If I change it (either via a script or via gconf-editor), the wallpaper remains and in the menu of "Change wallpaper", the old wallpaper is shown. How am I able to change the wallpaper for Unity via a Python script? The following code does work. Apparently, the gsettings are only applied, if some Gtk code is executed. #!/usr/bin/python # -*- coding: utf-8 -*- from gi.repository import Gtk, Gio class BackgroundChanger(): SCHEMA = 'org.gnome.desktop.background' KEY = 'picture-uri' def change_background(self, filename): gsettings = Gio.Settings.new(self.SCHEMA) print(gsettings.get_string(self.KEY)) print(gsettings.set_string(self.KEY, "file://" + filename)) Gtk.Window() print(gsettings.get_string(self.KEY)) if __name__ == "__main__": BackgroundChanger().change_background("/home/user/existing.jpg")

    Read the article

  • Can empathy be configured to stay updated will a full conversation?

    - by kas
    The Google Talk web app and Android app will always update themselves with all messages sent from all clients and I was wondering if Empathy can be configured to do this. For example, if I start a conversation on my phone and then change to my PC an use the web app, all the messages I sent will show up in the IM window on the PC even though I sent them when I was on my phone. Empathy does not behave this way. It only shows the IMs that occurred when using Empathy. If Empathy cannot do this, is there another client that can?

    Read the article

  • CPU Usage in Very Large Coherence Clusters

    - by jpurdy
    When sizing Coherence installations, one of the complicating factors is that these installations (by their very nature) tend to be application-specific, with some being large, memory-intensive caches, with others acting as I/O-intensive transaction-processing platforms, and still others performing CPU-intensive calculations across the data grid. Regardless of the primary resource requirements, Coherence sizing calculations are inherently empirical, in that there are so many permutations that a simple spreadsheet approach to sizing is rarely optimal (though it can provide a good starting estimate). So we typically recommend measuring actual resource usage (primarily CPU cycles, network bandwidth and memory) at a given load, and then extrapolating from those measurements. Of course there may be multiple types of load, and these may have varying degrees of correlation -- for example, an increased request rate may drive up the number of objects "pinned" in memory at any point, but the increase may be less than linear if those objects are naturally shared by concurrent requests. But for most reasonably-designed applications, a linear resource model will be reasonably accurate for most levels of scale. However, at extreme scale, sizing becomes a bit more complicated as certain cluster management operations -- while very infrequent -- become increasingly critical. This is because certain operations do not naturally tend to scale out. In a small cluster, sizing is primarily driven by the request rate, required cache size, or other application-driven metrics. In larger clusters (e.g. those with hundreds of cluster members), certain infrastructure tasks become intensive, in particular those related to members joining and leaving the cluster, such as introducing new cluster members to the rest of the cluster, or publishing the location of partitions during rebalancing. These tasks have a strong tendency to require all updates to be routed via a single member for the sake of cluster stability and data integrity. Fortunately that member is dynamically assigned in Coherence, so it is not a single point of failure, but it may still become a single point of bottleneck (until the cluster finishes its reconfiguration, at which point this member will have a similar load to the rest of the members). The most common cause of scaling issues in large clusters is disabling multicast (by configuring well-known addresses, aka WKA). This obviously impacts network usage, but it also has a large impact on CPU usage, primarily since the senior member must directly communicate certain messages with every other cluster member, and this communication requires significant CPU time. In particular, the need to notify the rest of the cluster about membership changes and corresponding partition reassignments adds stress to the senior member. Given that portions of the network stack may tend to be single-threaded (both in Coherence and the underlying OS), this may be even more problematic on servers with poor single-threaded performance. As a result of this, some extremely large clusters may be configured with a smaller number of partitions than ideal. This results in the size of each partition being increased. When a cache server fails, the other servers will use their fractional backups to recover the state of that server (and take over responsibility for their backed-up portion of that state). The finest granularity of this recovery is a single partition, and the single service thread can not accept new requests during this recovery. Ordinarily, recovery is practically instantaneous (it is roughly equivalent to the time required to iterate over a set of backup backing map entries and move them to the primary backing map in the same JVM). But certain factors can increase this duration drastically (to several seconds): large partitions, sufficiently slow single-threaded CPU performance, many or expensive indexes to rebuild, etc. The solution of course is to mitigate each of those factors but in many cases this may be challenging. Larger clusters also lead to the temptation to place more load on the available hardware resources, spreading CPU resources thin. As an example, while we've long been aware of how garbage collection can cause significant pauses, it usually isn't viewed as a major consumer of CPU (in terms of overall system throughput). Typically, the use of a concurrent collector allows greater responsiveness by minimizing pause times, at the cost of reducing system throughput. However, at a recent engagement, we were forced to turn off the concurrent collector and use a traditional parallel "stop the world" collector to reduce CPU usage to an acceptable level. In summary, there are some less obvious factors that may result in excessive CPU consumption in a larger cluster, so it is even more critical to test at full scale, even though allocating sufficient hardware may often be much more difficult for these large clusters.

    Read the article

< Previous Page | 409 410 411 412 413 414 415 416 417 418 419 420  | Next Page >