Search Results

Search found 22668 results on 907 pages for 'command prompt'.

Page 288/907 | < Previous Page | 284 285 286 287 288 289 290 291 292 293 294 295  | Next Page >

  • Git Daemon on linux?

    - by bwawok
    Trying to set up a simple git-daemon on a linux server, and talk to it from a windows box. On linux server: Make a folder /home/foo/bar CD to /home/foo/bar do a git --bare init here Do a touch git-daemon-export-ok CD to /home/foo Run the command git-daemon --verbose --reuseaddr --base-path=/home/foo --enable=receive-pack On Windows Client w tortoise Git Do git.exe clone --progress -v "git://servername/bar" "C:\source\myFolderName" (works) Create file a.txt, add it to git, and commit (works) Do a git.exe pull "origin" master and then get fatal: Couldn't find remote ref master (makes sense, master isn't there yet) Do a git.exe push "origin" master:master and tortoise hangs forever without do anything I realize why I can't pull from master yet on the remote branch.. but why can't I push my first commit into the remote repo? #4 really should work. Tried it both with tortoise and the mysysgit command line, both cases I hang forever. What am I missing? Server has no useful log

    Read the article

  • Git Daemon on linux?

    - by bwawok
    Trying to set up a simple git-daemon on a linux server, and talk to it from a windows box. On linux server: Make a folder /home/foo/bar CD to /home/foo/bar do a git --bare init here Do a touch git-daemon-export-ok CD to /home/foo Run the command git-daemon --verbose --reuseaddr --base-path=/home/foo --enable=receive-pack On Windows Client w tortoise Git Do git.exe clone --progress -v "git://servername/bar" "C:\source\myFolderName" (works) Create file a.txt, add it to git, and commit (works) Do a git.exe pull "origin" master and then get fatal: Couldn't find remote ref master (makes sense, master isn't there yet) Do a git.exe push "origin" master:master and tortoise hangs forever without do anything I realize why I can't pull from master yet on the remote branch.. but why can't I push my first commit into the remote repo? #4 really should work. Tried it both with tortoise and the mysysgit command line, both cases I hang forever. What am I missing? Server has no useful log

    Read the article

  • How do you change your Airport or Ethernet MAC address in Mac OS X 10.6?

    - by Dave Gallagher
    I have a MacBook Pro and would like to set a custom MAC address for either my Airport WiFi card, or Ethernet port. In older versions of Mac OS X, you could do it like this: $ sudo ifconfig en0 ether 00:11:22:33:44:55 // Ethernet $ sudo ifconfig en1 lladdr AA:BB:CC:DD:EE:FF // Airport For it to work on Airport, you'd have to power it on (e.g. $ sudo ifconfig en1 up), ensure it's not connected to any wireless network, and execute the command. I'm aware such a change won't propagate across reboots. Unfortunately, this doesn't work on Mac OS X 10.6.6 anymore. Apple appears to have removed the functionality (the command fails silently). Does anyone have any idea how to do it? Thanks for any help you can offer! :)

    Read the article

  • How to get Broadcom BCM 43XX Wireless card working

    - by Fer1805
    NOTE - Although this question is for a specific version of Ubuntu and a specific Broadcom model, the answer to it is for most Broadcom models and versions of Ubuntu 11.04, 11.10, 12.04 and 12.10. If you have come here from another question, feel free to read the answer instead. The answer covers many problems with several solutions. I'm having serious problems installing the Broadcom drivers for Ubuntu 11.04. It worked perfectly on my previous version, but now, it is impossible. I'm a user with no advance knowledge in Linux, so I would need clear explanations on make, compile, etc. I was following the instructions on the following blog, with no luck. How can I get Broadcom BCM4311 Wireless working? Can someone help me? Edit: For the command: "lspci | grep Network", I get the following message: 06:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN (rev 01) For the command: iwconfig, i get the following: lo no wireless extensions. eth0 no wireless extensions. When i follow the following steps (from the above link), there are a NO error message at all: open the 'Synaptic Package Manager' and search for bcm uninstall the bcm-kernel-source package make sure that the firmware-b43-installer and the b43-fwcutter packages are installed type into terminal: cat /etc/modprobe.d/* | egrep '8180|acx|at76|ath|b43|bcm|CX|eth|ipw|irmware|isl|lbtf|orinoco|ndiswrapper|NPE|p54|prism|rtl|rt2|rt3|rt6|rt7|witch|wl' (you may want to copy this) and see if the term blacklist bcm43xx is there if it is, type cd /etc/modprobe.d/ and then sudo gedit blacklist.conf put a # in front of the line: blacklist bcm43xx then save the file (I was getting error messages in the terminal about not being able to save, but it actually did save properly). reboot 'End of procedure' Before (not ubuntu 11.04), if i wanted to connect wireles, i just went to the icon at the upper side of the screen, click, showed ALL the wireless network available, and done. Now, the only options i see are: Wired Network Auto Eth0 Disconnect VPN Enable networking Connection information Edit connection. hope above info is enough for your help.

    Read the article

  • .wine-pipelight folder not present

    - by DaimyoKirby
    Following the instructions on the pipelight installation page, I installed pipelight on Ubuntu 14.04. However, upon opening firefox the .wine-pipelight folder isn't present in my home folder, and I get the following errors: [PIPELIGHT:LIN:unknown] attached to process. [PIPELIGHT:LIN:unknown] checking environment variable PIPELIGHT_SILVERLIGHT5_1_CONFIG. [PIPELIGHT:LIN:unknown] searching for config file pipelight-silverlight5.1. [PIPELIGHT:LIN:unknown] trying to load config file from '/home/alden/.config/pipelight-silverlight5.1'. [PIPELIGHT:LIN:silverlight5.1] basicplugin.c:427:checkSilverlightGraphicDriver(): error in execlp command - probably silverlightGraphicDriverCheck not found or missing execute permission. [PIPELIGHT:LIN:silverlight5.1] basicplugin.c:441:checkSilverlightGraphicDriver(): GPU driver check - Your driver is not in the whitelist, hardware acceleration disabled. [PIPELIGHT:LIN:silverlight5.1] using wine prefix directory /home/alden/.wine-pipelight. [PIPELIGHT:LIN:silverlight5.1] checking plugin installation - this might take some time. [PIPELIGHT:LIN:silverlight5.1] basicplugin.c:374:checkPluginInstallation(): error in execvp command - probably dependencyInstaller/sandbox not found or missing execute permission. [PIPELIGHT:LIN:silverlight5.1] basicplugin.c:384:checkPluginInstallation(): Plugin installer did not run correctly (exitcode = 1). [PIPELIGHT:LIN:silverlight5.1] basicplugin.c:108:attach(): plugin not correctly installed - aborting. I've reinstalled quite a few times and ran through many of the common fixes offered on the pipelight Launchpad pages and here on AskUbunta and still it fails to run. Is there a reason why this folder isn't present, or why I'm getting these errors? Edit: Oddly enough, the .wine-pipelight folder is created wtih I open Nitro, although this still doesn't fix the issue.

    Read the article

  • Strange Misleading Error[XML -2018/ AC-10006] when doing the R12 Cloning

    - by [email protected]
    During the recent Multi Node to Single Node R12 Clone, Encountered an strange error. When doing the database portion of the clone. Below command 'adclonectx.pl' creates the Context file perl adclonectx.pl contextfile=$ORACLE_HOME/appsutil/SOURCE_CONTEXT_FILE.xml template=$ORACLE_HOME/appsutil/template/adxdbctx.tmp pairsfile=$ORACLE_HOME/appsutil/clone/pairsfile.txt initialnode   When running the same command, It dumped the below error,   file:/tmp/tmpCtxClone.xml<Line 1, Column 1>: XML-20108: (Fatal Error) Start of root element expected. AC-10006: Exception - org.xml.sax.SAXParseException: file:/tmp/tmpCtxClone.xml<Line 1, Column 1>: XML-20108: (Fatal Error) Start of root element expected. thrown while creating OAVars object for file: /tmp/tmpCtxClone.xml The new database context file has been created :   /opt/oracle/product/11.1.0_IOFT/appsutil/IOFT_frws35ta.xml   At first site, I suspected that the issue is with format of the source xml file. Hence compared with the working XML file. Result is clean. Below portion of the error struck me Thrown while creating OAVars object for file: /tmp//dummy.xml   Cause : The /tmp is 100% full.   Fix: Either remove the old files in /tmp  directory  OR  export TEMP=/new/location where there is plenty of free space.

    Read the article

  • What build tools do not depend on java (or Ruby)?

    - by Mohamed Meligy
    I'm wondering what generic build tools out there include their binary run-times and do not depend on another environment not shipped with them. For example, ANT requires Java, Rake requires Ruby, etc.. would be great if talking about also target-platform-agnostic tools, where I'd just give whatever command for building, whatever command for testing, etc.. and can then define my artifacts in CI or so. Would see something like that useful for building .NET projects (say, on both Windows .NET and Mono), and Node JS projects especially. I do not want to install Java and / or Ruby if what I want is a .NET build or a Node JS build. This is a bit of general awareness question not an exact problem I'm facing, that's why it's here not on StackOverflow. Update: To explain a bit more, what I'm after is the build script that would run MSBuild for compiling for example ( in .NET, and then maybe several Node/NPM commands in Node, etc..), and then have the rest build/test steps, instead of setting these all in MSBuild (again, in .NET case, also, wondering if there is equivalent story in Node).

    Read the article

  • Configure Console2 to open bash in current folder

    - by davidkennedy85
    I've seen this but it doesn't work for me. I'm not using Git's version of bash but the one that comes with cygwin, so that could be part of the problem. Here is how I have my tab in Console2 set up: Title: bash.exe Shell: C:\cygwin\bin\bash.exe --login -i Startup dir: %HOMEDRIVE%%HOMEPATH% This is my registry entry: Directory shell Console2 Open Console2 Here command "C:\Console2\Console.exe" -d "%1" bash always starts in my home directory instead of the directory I'm clicking on, then I have to cd /cygdrive/d/code ... etc. I tried removing the value in the "Startup dir" field, changing it to %1, %1% with no luck. I also tried this solution but it didn't work for me either: Title: bash.exe Shell: C:\cygwin\bin\bash.exe -l Registry: Directory shell Console2 Open Console2 Here command "C:\Console2\Console.exe" -d "%V" .profile file in root directory: cd - Any ideas?

    Read the article

  • Acer aspire one d270 can not set brightness

    - by Marko
    I hope you can help me figure out how to set the brightness at my netbook. Following problem appears since I installed ubuntu 11.10 on my acer: I am not able to adjust the brightness by FN Keys nor manually at "systemsettings-display". After searching with google for a while, I found a way via the terminal to adjust it with the folloqing command: "sudo setpci -s 00:02.0 f4.b=7f" ( from 00-9f). That was a major breakthrough for me as I am still new to Linux OS. But still seeking a way to get the FN keys for brightness to work, I kept searching until I found "askubuntu.com". I read through various Questions by other acer users and tried there solutions, but unfortunately none worked out for me. From this thread: fn + arrow keys don't adjust actual brightness on an Acer Aspire 5740 "sudo gedit /etc/X11/xorg.conf". This command did not work because the file was not found. I also used nano instead of gedit, but the file was empty( I think it just created the file since it did not exist). These commands which i found gave me a boot loop and I had to repair ubuntu: sudo gedit /etc/default/grub Change the line GRUB_CMDLINE_LINUX="" into GRUB_CMDLINE_LINUX="acpi_osi=Linux" sudo update-grub From this post Screen Brightness not adjustable for Acer Aspire S3: I tried the solution from the last post, but it did not work either. Does anyone know what I could try? I would appreciate it, if someone could help me out with this. Thanks in advance Netbook specs: CPU: Intel Atom N2600 Memory: 2gb DDR3 Storage: 320 GB HD GPU: Intel GMA 3600

    Read the article

  • CMD Echo date but show month as string

    - by Asim Rehman
    I am using the robocopy command to create a backup system, I have successfully managed to copy the folders, but the date stamp is wrong. The folders are prefixed with the date and time . The robocopy command is this: robocopy U:\Data\ X:\Private\Backups\FolderName_%date:/=-%-(%time::=-%) /e The out of the folder is displayed like this: FolderName_09-11-2013-(20-24-06.60) The only thing I want to change is the date, I want to show the month as a string with only the first 3 characters like Oct. Can someone please guide me. Thanks.

    Read the article

  • How to stop pptpd even when there are active vpn client connections?

    - by Michael Z
    After issued command to stop pptpd, the pptpd won't stop until all the VPN client has disconnected. The following code shows pptpd is still running after issuing the stop command. ubuntu@ip-10-138-31-87:~$ sudo /etc/init.d/pptpd stop Stopping PPTP: pptpd. ubuntu@ip-10-138-31-87:~$ ps -ef |grep pptpd root 5524 1 0 21:46 ? 00:00:00 pptpd [<myIp>:8544 - 0000] root 5525 5524 0 21:46 pts/1 00:00:00 /usr/sbin/pppd local file /etc/ppp/pptpd-options 115200 192.168.0.1:192.168.0.234 ipparam <myIP> plugin /usr/lib/pptpd/pptpd-logwtmp.so pptpd-original-ip <myIP> ubuntu 5564 4668 0 21:50 pts/4 00:00:00 grep --color=auto pptpd After all the active vpn client connections were disconnected mannually, the pptpd then stops. Is there a way that pptpd can be forced to stop even there are active vpn client connections?

    Read the article

  • sudo ENV_KEEP not always preserving

    - by mafro
    When I run sudo -s, my environment is preserved. However, when running a simple sudo <command> it appears not to be preserved. The contents of my sudoers file: mafro@ip-10-xx-xx-250:~ > sudo cat /etc/sudoers.d/mafro Defaults env_reset Defaults env_keep += "HOME" mafro ALL=(ALL) NOPASSWD:ALL Using sudo -s, the ll alias is available: mafro@ip-10-xx-xx-250:~ > sudo -s root@ip-10-xx-xx-250:~ > ll total 8K drwxrwxr-x 2 mafro dev 4.0K Jun 9 23:59 bin drwxr-xr-x 20 mafro dev 4.0K Jun 9 23:59 dotfiles Using straight sudo, it is not: mafro@ip-10-xx-xx-250:~ > sudo ll sudo: ll: command not found What is happening here?

    Read the article

  • Is it possible to shutdown a remote computer running Windows 7 via Telnet?

    - by Ryan Shripat
    I've successfully connected to my Windows 7 desktop over wifi via Telnet from an XP Home netbook. To login, I use the following command: telnet -l "win7desktop\win7user" win7desktop win7user in this case is an Administrator on win7desktop and is also a member of the Telnet Clients Group. The problem I have is that when I attempt to shut down win7desktop by issuing the following command: shutdown /s ...at the Telnet prompt, I get an Access Denied error: Access is denied.(5) Is it possible to shutdown a remote computer running Windows 7 via Telnet? If so, what do I need to do to get around the Access is denied error?

    Read the article

  • How to enable Unity 3D support in 12.04 using open-source drivers for RadeonHD cards?

    - by martin
    As the title says I can't enable the Unity 3D support when I'm using open-source drivers (xorg-edgers). I have an xfx Radeon HD 6950 by the way. If I install the proprietary 12.3 drivers from AMD it works, but I get poorer 2D performance than the open-source drivers and also I get some freezes and lock ups at random. So because of this I'm trying the open-source drivers and so far no issues at all, except this one. Running this command $ /usr/lib/nux/unity_support_test -p shows this: OpenGL vendor string: VMware, Inc. OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x300) OpenGL version string: 2.1 Mesa 8.0.2 Not software rendered: no Not blacklisted: yes GLX fbconfig: yes GLX texture from pixmap: yes GL npot or rect textures: yes GL vertex program: yes GL fragment program: yes GL vertex buffer object: yes GL framebuffer object: yes GL version is 1.4+: yes Unity 3D supported: no And this command $ lspci -nn | grep VGA shows: 01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Cayman PRO [Radeon HD 6950] [1002:6719] So, is this normal? Do I need to go back to proprietary drivers to enable Unity 3D? If anyone can give me help, I'll much appreciate it.

    Read the article

  • Using Ctrl-Tab to switch between tabs in Mac Terminal.app

    - by dkee
    How can I make Ctrl-Tab and Ctrl-Shift-Tab switch between tabs in Terminal.app on a Mac (OS 10.4 and 10.5 specifically)? This is how I switch tabs in Firefox and Aquamacs, and Command-Shift-[ and Command-Shift-] is too awkward to me. I am aware of this related question: .../unable-to-switch-a-tab-efficiently-in-macs-terminal* And hence the Keyboard Shortcuts section of the System Preferences, but the dialog box for Keyboard Shortcuts doesn't seem to accept Ctrl-Tab in the Keyboard Shortcut field. Is there a special keyboard sequence for inputting tabs (with modifiers) into a dialog box field on a Mac? Is there any other method that would allow me to customize Terminal.app in the way I desire? Not really a programming question, but I think the answer would be useful to other folks that program on Macs and would like to have some consistency between interfaces of different applications. Thanks! * Couldn't add the hyperlink as a new user

    Read the article

  • forwarding port 3306 on macosx in order to connect to a remote mysql db

    - by Jonathan Mayhak
    I'm on macosx 10.6.2 trying to connect to ubuntu server 8.04.1 at linode. ssh -L 127.0.0.1:3306:[[remote ip]]:3306 user@server -N I want to set up ssh tunneling so that I can access a remote mysql server. First of all, I'm told bind: Address already in use. This is only after I've tried the command before. How do I manually close a port forwarding session? Second, when I change the command to be ssh -L 127.0.0.1:3310:[[remote ip]]:3306 user@server -N (I changed the local port to listen on). I'm told channel 1: open failed: connect failed: Connection refused when I try to connect to the mysql server via mysql workbench or sequel pro. To connect through mysql workbench I use the following settings: host: 127.0.0.1 port: 3310 (if 3306 is in use) username: mysql username password: mysql password database: I don't put anything in

    Read the article

  • How can I get the path to a Windows service executable WITHOUT using sc qc?

    - by Jared
    I need to query a windows service for the path to it's executable via the command prompt. I think the way I would do this is:sc qc myServiceName, but when I do that, I get the following error: [SC] QueryServiceConfig FAILED 122: The data area passed to a system call is too small. [SC] GetServiceConfig needs 1094 bytes I think this means that the sc command is sending a data structure to some other library that is too small for the data that needs to be returned. Instead of SC nicely retrying with a larger data structure (1094 bytes) it bombs out and gives me this ugly error message. Thanks Micro$oft. So is there a way to work around this error? I just need the path to the executable, but will parse it out of some other text if needed.

    Read the article

  • Loggon to Internet Hotspot from within Linux Terminal

    - by Saif Bechan
    For internet I use a local Hotspot service. I have internet when I start my browser and fill in my username and password. This stays as long as I do not shut down my PC for a while. I run some virtual machines, centos, debian, from the command line. I run these just for small test purposes, nothing special, and security is not an issue for me at all. I want to have these VM's connect directly to the hotspot if this is possible. So they each have there own IP. I have enough hotspot accounts to do so. I can do this with a bridged connection in VMware which works find with a GUI. But I run these OS's from the command line. I only need to know a way how to get the hotspot to validate my credentials. Is there a way of doing this without having a gui.

    Read the article

  • Killing an unresponsive process

    - by Sathya
    I had closed an instance of utorrent. The task no longer appears in Applications, however the process utorrent.exe appears in Processes tab of Task Manager. I tried to kill using: Kill process button in Task Manager Kill process option in SysInternals Process Explorer Suspend, resume, restart in SysInternals Process Explorer command prompt by using the command taskkill /f /im utorrent.exe Stop-Process commandlet in Windows PowerShell. All of these have failed, the process just doesn't end. I cannot restart uTorrent because of the existing process running. Is there anyway I can kill this without having to resort to a system reboot ? I'm using Windows 7 Ultimate, OEM.

    Read the article

  • Spring Roo Database Reverse Engineer with Oracle

    - by kerry
    So you are trying to reverse engineer an Oracle database with roo? Unfortunately, due to licensing restrictions with the Oracle JDBC Drivers, this is a little difficult. There are a few blog posts and forum threads that address the problem but I figured I would post what worked for me here. First, you need to download the appropriate Oracle Drivers from Oracle. The required login, stringent password requirements, nosy registration form, and general system instability made this a pretty painful step for me. I’d also like to say that companies that have password requirements that don’t allow symbols (or any other non-standard requirement) have a special place in my heart. Having to recover my password every time I go to your site virtually guarantees I will only go there when I absolutely have to (not often). Anyways, once you have it downloaded you need to install is with maven: mvn install:install-file -Dfile=~/Downloads/ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -DgeneratePom=true Here comes the fun part. You need to create an osgi wrapper for the driver to install it in roo. Otherwise, roo cannot see the driver. Create a new folder and put the contents of the oracle roo addon pom gist I created. Now build it with maven. You may want to change some of the artifact ids and dependencies for your particular situation. mvn package No open a roo shell and execute the following command: osgi install --url file:///Users/me/my-osgi-project/target/the-jar-it-built.jar Now run (in roo): jpa setup --provider HIBERNATE --database ORACLE dependency remove --groupId com.oracle --artifactId ojdbc14 --version 10.2.0.2 dependency add --groupId com.oracle --artifactId ojdbc6 --version 11.2.0.3 database properties set --key database.driverClassName --value oracle.jdbc.OracleDriver database properties set --key database.url --value jdbc:oracle:thin:@%YOUR_CONNECTION_INFO% database properties set --key database.username --value %YOUR_USERNAME% database properties set --key database.password --value %YOUR_PASSWORD% database reverse engineer --schema %YOUR_SCHEMA% --package ~.domain If you have any package loading exceptions when running the reverse engineer command you can uninstall the osgi bundle, set the package to optional in the osgi pom in the IncludedPackages tag (javax.some.package.*;resolution:=optional) rebuild, then reinstall in roo.

    Read the article

  • file-name encoding problems

    - by tenhouse
    I googled over this topic but couldn't find what I was looking for... the following "happend" to me: I had my files stored on a NTFS-USB Harddisk, because of space problems I moved them to an ext3 system....somehow the filename (content is still ok as far as I saw) encoding screwed up....my files look like the following now: Kküken <--- should have an "ü" Jäger <--- should be an "ä" Zwölf <--- should be an "ö" fünfte <-- should be an "ü" etc .... These are just examples, but already give me my first question Why has the "ü" two different representations? (Maybe I screw up, before I screw up and now I have a mixing of x different encoding-layers? :) ) I tried the following command: convmv -r -f UTF-8 -t ISO-8859-1 * This command work for some files (for example Zwölf) but not for all: iso-8859-1 doesn't cover all needed characters for: "fünfte" So Iguess it must be another encoding - but which? How can I find out this? And is there any way that I can still fix all of this?

    Read the article

  • How to lock screen in linux before hibernating?

    - by Emanuel Ey
    So when i hibernate my laptop the screen doesn't lock automatically. To solve this i've changed /etc/acpi/powerbtn.sh to contain: su - myUsername -c "gnome-screensaver-command -l" sudo pm-hibernate exit 0 When running this file from a command line it works as intended (ie, lock the screen and then hibernate). Unfortunately, when pressing the power button, it still just hibernates without locking the screen -what am I missing? EDIT: I've added the line whoami>>~/Desktop/test.txt to verify which user is executing the /etc/acpi/powerbtn.shscript. When pressing the power button, the file test.txt is created, but is empty. From this i conclude that the script is in fact being called when pressing the power button. What i do not understand is how the output of whoami can be empty...

    Read the article

  • Down for everyone or just me?

    - by Click Ok
    When I try access a website, and it is down, I head to http://www.downforeveryoneorjustme.com, and test it. But lately, my home network PCs cannot access facebook.com, and I tried the that service and the answer was: It's just you. http://facebook.com is up. Ok, that got me. I tried several browsers and 3 PCs in my LAN and it don't works. I don't know how to troubleshoot this. What some step-by-step to troubleshoot that problem? Output from ping command: Disparando facebook.com [69.171.234.21] com 32 bytes de dados: Resposta de 69.171.234.21: bytes=32 tempo=256ms TTL=245 Resposta de 69.171.234.21: bytes=32 tempo=255ms TTL=246 Resposta de 69.171.234.21: bytes=32 tempo=251ms TTL=245 Resposta de 69.171.234.21: bytes=32 tempo=255ms TTL=246 PS.: I thank you for the nice help, but then I suppose that the first step of a step-by-step to troubleshoot is ping from command line?

    Read the article

  • New Enhancements for InnoDB Memcached

    - by Calvin Sun
    In MySQL 5.6, we continued our development on InnoDB Memcached and completed a few widely desirable features that make InnoDB Memcached a competitive feature in more scenario. Notablely, they are 1) Support multiple table mapping 2) Added background thread to auto-commit long running transactions 3) Enhancement in binlog performance  Let’s go over each of these features one by one. And in the last section, we will go over a couple of internally performed performance tests. Support multiple table mapping In our earlier release, all InnoDB Memcached operations are mapped to a single InnoDB table. In the real life, user might want to use this InnoDB Memcached features on different tables. Thus being able to support access to different table at run time, and having different mapping for different connections becomes a very desirable feature. And in this GA release, we allow user just be able to do both. We will discuss the key concepts and key steps in using this feature. 1) "mapping name" in the "get" and "set" command In order to allow InnoDB Memcached map to a new table, the user (DBA) would still require to "pre-register" table(s) in InnoDB Memcached “containers” table (there is security consideration for this requirement). If you would like to know about “containers” table, please refer to my earlier blogs in blogs.innodb.com. Once registered, the InnoDB Memcached will then be able to look for such table when they are referred. Each of such registered table will have a unique "registration name" (or mapping_name) corresponding to the “name” field in the “containers” table.. To access these tables, user will include such "registration name" in their get or set commands, in the form of "get @@new_mapping_name.key", prefix "@@" is required for signaling a mapped table change. The key and the "mapping name" are separated by a configurable delimiter, by default, it is ".". So the syntax is: get [@@mapping_name.]key_name set [@@mapping_name.]key_name  or  get @@mapping_name set @@mapping_name Here is an example: Let's set up three tables in the "containers" table: The first is a map to InnoDB table "test/demo_test" table with mapping name "setup_1" INSERT INTO containers VALUES ("setup_1", "test", "demo_test", "c1", "c2", "c3", "c4", "c5", "PRIMARY");  Similarly, we set up table mappings for table "test/new_demo" with name "setup_2" and that to table "mydatabase/my_demo" with name "setup_3": INSERT INTO containers VALUES ("setup_2", "test", "new_demo", "c1", "c2", "c3", "c4", "c5", "secondary_index_x"); INSERT INTO containers VALUES ("setup_3", "my_database", "my_demo", "c1", "c2", "c3", "c4", "c5", "idx"); To switch to table "my_database/my_demo", and get the value corresponding to “key_a”, user will do: get @@setup_3.key_a (this will also output the value that corresponding to key "key_a" or simply get @@setup_3 Once this is done, this connection will switch to "my_database/my_demo" table until another table mapping switch is requested. so it can continue issue regular command like: get key_b  set key_c 0 0 7 These DMLs will all be directed to "my_database/my_demo" table. And this also implies that different connections can have different bindings (to different table). 2) Delimiter: For the delimiter "." that separates the "mapping name" and key value, we also added a configure option in the "config_options" system table with name of "table_map_delimiter": INSERT INTO config_options VALUES("table_map_delimiter", "."); So if user wants to change to a different delimiter, they can change it in the config_option table. 3) Default mapping: Once we have multiple table mapping, there should be always a "default" map setting. For this, we decided if there exists a mapping name of "default", then this will be chosen as default mapping. Otherwise, the first row of the containers table will chosen as default setting. Please note, user tables can be repeated in the "containers" table (for example, user wants to access different columns of the table in different settings), as long as they are using different mapping/configure names in the first column, which is enforced by a unique index. 4) bind command In addition, we also extend the protocol and added a bind command, its usage is fairly straightforward. To switch to "setup_3" mapping above, you simply issue: bind setup_3 This will switch this connection's InnoDB table to "my_database/my_demo" In summary, with this feature, you now can direct access to difference tables with difference session. And even a single connection, you can query into difference tables. Background thread to auto-commit long running transactions This is a feature related to the “batch” concept we discussed in earlier blogs. This “batch” feature allows us batch the read and write operations, and commit them only after certain calls. The “batch” size is controlled by the configure parameter “daemon_memcached_w_batch_size” and “daemon_memcached_r_batch_size”. This could significantly boost performance. However, it also comes with some disadvantages, for example, you will not be able to view “uncommitted” operations from SQL end unless you set transaction isolation level to read_uncommitted, and in addition, this will held certain row locks for extend period of time that might reduce the concurrency. To deal with this, we introduce a background thread that “auto-commits” the transaction if they are idle for certain amount of time (default is 5 seconds). The background thread will wake up every second and loop through every “connections” opened by Memcached, and check for idle transactions. And if such transaction is idle longer than certain limit and not being used, it will commit such transactions. This limit is configurable by change “innodb_api_bk_commit_interval”. Its default value is 5 seconds, and minimum is 1 second, and maximum is 1073741824 seconds. With the help of such background thread, you will not need to worry about long running uncommitted transactions when set daemon_memcached_w_batch_size and daemon_memcached_r_batch_size to a large number. This also reduces the number of locks that could be held due to long running transactions, and thus further increase the concurrency. Enhancement in binlog performance As you might all know, binlog operation is not done by InnoDB storage engine, rather it is handled in the MySQL layer. In order to support binlog operation through InnoDB Memcached, we would have to artificially create some MySQL constructs in order to access binlog handler APIs. In previous lab release, for simplicity consideration, we open and destroy these MySQL constructs (such as THD) for each operations. This required us to set the “batch” size always to 1 when binlog is on, no matter what “daemon_memcached_w_batch_size” and “daemon_memcached_r_batch_size” are configured to. This put a big restriction on our capability to scale, and also there are quite a bit overhead in creating destroying such constructs that bogs the performance down. With this release, we made necessary change that would keep MySQL constructs as long as they are valid for a particular connection. So there will not be repeated and redundant open and close (table) calls. And now even with binlog option is enabled (with innodb_api_enable_binlog,), we still can batch the transactions with daemon_memcached_w_batch_size and daemon_memcached_r_batch_size, thus scale the write/read performance. Although there are still overheads that makes InnoDB Memcached cannot perform as fast as when binlog is turned off. It is much better off comparing to previous release. And we are continuing optimize the solution is this area to improve the performance as much as possible. Performance Study: Amerandra of our System QA team have conducted some performance studies on queries through our InnoDB Memcached connection and plain SQL end. And it shows some interesting results. The test is conducted on a “Linux 2.6.32-300.7.1.el6uek.x86_64 ix86 (64)” machine with 16 GB Memory, Intel Xeon 2.0 GHz CPU X86_64 2 CPUs- 4 Core Each, 2 RAID DISKS (1027 GB,733.9GB). Results are described in following tables: Table 1: Performance comparison on Set operations Connections 5.6.7-RC-Memcached-plugin ( TPS / Qps) with memcached-threads=8*** 5.6.7-RC* X faster Set (QPS) Set** 8 30,000 5,600 5.36 32 59,000 13,000 4.54 128 68,000 8,000 8.50 512 63,000 6.800 9.23 * mysql-5.6.7-rc-linux2.6-x86_64 ** The “set” operation when implemented in InnoDB Memcached involves a couple of DMLs: it first query the table to see whether the “key” exists, if it does not, the new key/value pair will be inserted. If it does exist, the “value” field of matching row (by key) will be updated. So when used in above query, it is a precompiled store procedure, and query will just execute such procedures. *** added “–daemon_memcached_option=-t8” (default is 4 threads) So we can see with this “set” query, InnoDB Memcached can run 4.5 to 9 time faster than MySQL server. Table 2: Performance comparison on Get operations Connections 5.6.7-RC-Memcached-plugin ( TPS / Qps) with memcached-threads=8 5.6.7-RC* X faster Get (QPS) Get 8 42,000 27,000 1.56 32 101,000 55.000 1.83 128 117,000 52,000 2.25 512 109,000 52,000 2.10 With the “get” query (or the select query), memcached performs 1.5 to 2 times faster than normal SQL. Summary: In summary, we added several much-desired features to InnoDB Memcached in this release, allowing user to operate on different tables with this Memcached interface. We also now provide a background commit thread to commit long running idle transactions, thus allow user to configure large batch write/read without worrying about large number of rows held or not being able to see (uncommit) data. We also greatly enhanced the performance when Binlog is enabled. We will continue making efforts in both performance enhancement and functionality areas to make InnoDB Memcached a good demo case for our InnoDB APIs. Jimmy Yang, September 29, 2012

    Read the article

  • OS X 10.6 Snow Leopard no longer mounting an external USB drive

    - by Brant Bobby
    I have a 1TB generic external hard drive containing a single HFS partition. I originally formatted this using Disk Utility and it worked fine. Now, for some reason, it's not auto-mounting when I start up. Using mount at the command line gives the following error: $ sudo mount /dev/disk1s2 /Volumes/Test /dev/disk1s2 on /Volumes/Test: Incorrect super block. ... but if I use the mount_hfs command it works fine, mounts, and is readable. $ mount_hfs /dev/disk1s2 /Volumes/Test/ fsck gives me an error about a bad super block: $ fsck /dev/disk1 ** /dev/rdisk1 (NO WRITE) BAD SUPER BLOCK: MAGIC NUMBER WRONG ... but fsck_hfs -fn /dev/disk1s2 doesn't find any problems and reports that the volume appears to be OK. In Disk Utility, the drive appears to have a single MS-DOS partition with a curious notice about how it appears to be partitioned for Boot Camp: I have the Boot Camp HFS driver installed in WIndows 7, and that OS sees the drive/partition normally. What's wrong with my disk?

    Read the article

< Previous Page | 284 285 286 287 288 289 290 291 292 293 294 295  | Next Page >