How does CEF perform equal and unequal cost load balancing?

hello
How does CEF perform equal and unequal cost load balancing?
thanks

Hello Wang,
it is only EIGRP that can perform load balancing over unequal cost links.
For equal cost links CEF allocates 16 buckets and maps them to the the physical links.
the result of a binary operation is used to associated a packet to an outgoing interface:
Source IP address EXOR DEstination IP Address EXOR hash
the hash is a seed that changes only at every reload.
Actually the last 4 bits are used so that each flow can be classified in one bucket.
then the outgoing interface is the one asscociated to the result of the exor operation.
Another way to see is that m bits are used so that 2^m is equal to N number of links (if N is even)
the rule is simple and pre-established
Hope to help
Giuseppe

Similar Messages

  • Client side load balancing and server side load balancing

    Hello Team,
    I need to know how to set up client and server side load balancing in oracle rac.  What all things to be implemented like creating a service, tnsnames.ora settings etc.
    And also if i used SCAN ip instead of VIP. how the settings will change.
    Regards,

    Hi,
    please find here an Whitepaper with the information
    http://www.oracle.com/technetwork/database/features/availability/maa-wp-11gr2-client-failover-173305.pdf
    kind regards

  • I have leopard and want to upgrade to lion. I have a macbook about 3 years old and wonder if I should just get a new macbook pro ($$$) instead. Is it worth the headache to upgrade to snow leopard and then lion? How does lion perform on an intel core duo 2

    I have a macbook about 3 years old running leopard. I amwondering ifitwouldbeworth the trouble to install snowleopardand then lion ($60.00) or just buy a new macbook pro ($$$$$$). How does lion perform on an intel core 2 duo processor?

    I have Lion installed on a Mini with a C2D processor. The same Mini has Snow Leopard on another partition and there is no noticeable difference in operational speed between the two OS's. But compared to my new MBPro 17" with a 2.83GHz i7, the Mini running Lion is noticeably slower. So if you can afford anew MBPro, then I would get it because you will probably be unhappy with the performance of Lion on the older MBPro. The other benefit of getting a new MBPro with Lion is that if you have any Power PC applications currently on the old MBPro, which will not operate in Lion, then you still have the ability to use them. Many users got stung by upgrading to Lion, only to find they could no longer use the older PPC applications.

  • How does one perform mailbox to mailbox moving of email messages w/ Messaging 3.X?

    How does one perform mailbox to mailbox moving of email messages with Messaging 3.X?
    <P>
    In an ISP environment there are times that a user changes his
    login name (his unique identifier in the ISP's network, also used as
    his email address) from one value to another. It is very convenient
    for the ISP to be able to move messages from the user's old mailbox
    to the user's new mailbox when this situation occurs.
    <P>
    With Messaging Server 2.0, this was easily accomplished by simply
    moving the mail messages on disk. However, with the added complexity
    of Messaging 3.0 where there are back links, reference counts, etc.,
    associated with mail messages, moving files on disk from one mailbox
    to another is no longer valid.
    <P>
    The MoveUser utility, which is new in MS 3.X, moves messages from
    one messaging server to another or from one maildrop path to another.
    Can this utility be used to move messages from one mailbox to another?
    <P>
    The answer is yes, it can. The user should be aware that if
    duplicate email message id's exist in the mailbox before the
    move, the messages related to the duplicate message id's will
    be duplicated in the target mailbox.
    <P>
    See the online documentation contained with the product or the
    Messaging 3.X Administrator's Guide for exact syntax.

    Hi
    If I understand you correctly and if you are using Apple Mail version 2.0 or above navigate to /Users/Home folder. The Home folder is the one with the house icon, within that folder you will see a Library folder, within that folder you’ll see a Mail folder, within that folder you’ll see a folder that begins with POP followed by your name, within that folder will be a folder called INBOX.mbox, within that folder is a Messages folder. All the mail that you see within the application are there. They will be numbered and have a file suffix of .emlx. You can move these wherever you like.
    If you are using Entourage X, or Entourage 2004 you can easily multiple select mail messages, addresses etc from within the application and drag whatever you’ve selected to wherever you like.
    Tony

  • How do you connect your photoshop elements on your computer to your account online? and how do you create a customized url? how does the gallery work and how do you access it? i have trouble signing in on my program from my computer to connect to the onli

    how do you connect your photoshop elements on your computer to your account online? and how do you create a customized url? how does the gallery work and how do you access it? i have trouble signing in on my program from my computer to connect to the online photoshop, and I really want to create my own customized url and post photos to my gallery and share them with the world, family, and friends, but i need help because i can't figure how to do any of this, would really appreciate feedback and assistance, thanks, - claire conlon

    To add to sig's reply, "calibrating" does not calibrate Lithiu-Ion batteries, it calibrates the charge reporting circuitry.  If you look at the effect of deep discharging Lithium-Ion batteries in the data from the independent test group, Battery University, you will see that doing so shortens the life of the battery significantly. It looks like an optimum balance between use and life is at a discharge level of 50%.

  • ColdFusion 11: cfclient ... how does normal CFML code and cfclient code interact?

    G'day:
    I am reposting this from my blog ("ColdFusion 11: ... how does normal CFML code and  code interact?") at the suggestion of Adobe support:
    @dacCfml @ColdFusion Can you post your queries at http://t.co/8UF4uCajTC for all cfclient and mobile queries.— Anit Kumar Panda (@anitkumar85) April 29, 2014
    I have edited this in places to remove language that will be deemed inappropriate by the censors here. Changes I have made are in [square brackets]. The forums software here has broken some of the styling, but so be it.
    G'day:
    Another quick one. I'm raising these quick-fire questions here because Adobe have declined to suggest a better place to raise them, other than as comments on one of their blog entries. Well that was Ram's suggestion (which I don't think is terribly-well thought out). He declined to react to my suggestion that the Adobe ColdFusion forums might be a good place. Anit suggested Twitter or just emailing him, but I think there'd be public interest in this stuff, so don't want to resort to email.
    As I'm the master of what goes on on this blog: I'll clutter this thing up.
    Say I want to have a mix of "normal" CFML and <cfclient>-based CFML in the same file. I can only presume the intent is to allow this, otherwise having <cfclient> as a tag rather than just a file extension seems like a poor approach. Obviously if one can have a start tag and an end tag, then code can come before (and I guess after) the <cfclient> tags themselves.
    So I'd expect this to work:
    <cfset message = "G'day World"> <cfclient> <cfoutput>#message#</cfoutput> </cfclient>
    However all I get is an error in JS:
    Uncaught ReferenceError: message is not defined variablesScopeVariable.cfm:4
    And, indeed, the only mention of message in the JS source is the one that's erroring (as it's on the right-hand side of an assignment).
    So I thought perhaps <cfclient> worked like <cfthread> and I needed to pass attributes into it:
    <cfset message = "G'day World"> <cfclient message="#message#"> <cfoutput>#message#</cfoutput> </cfclient>
    This doesn't compile:
    Attribute validation error for the client tag.
    The tag does not have an attribute called message. The valid attribute(s) are ''.
    ColdFusion cannot determine the line of the template that caused this error.This is often caused by an error in the exception handling subsystem.
    Note also there's an error in the error message itself. It's not the <client> tag, it's the <cfclient> tag.
    Rightio then, so I tried just using the request scope instead (the code's the same as the variables-scoped example, except using the request scope). No dice: same JS error.
    As a last ditch effort, I just tried to see if <cfclient> was aware of anything going on around it, by passing a value on the URL, and seeing if <cfclient> saw that, eg:
    <cfclient> <cfoutput>#URL.message#</cfoutput> </cfclient>
    This behaved differently from the variables- / request- scoped examples, in that I didn't get a JS error, I just got this on the screen:
    undefined
    And no JS error. It pains me to have to do this, but let's look at the generated JS to see why the behaviour is different:
    Variables scope example:
    <script type="text/javascript" src="/CFIDE/cfclient/cfclient_main.js"></script> <script type="text/javascript" src="/CFIDE/cfclient/cffunctions.js"></script> <meta name="viewport" content="width=device-width"> <script type='text/javascript'> globalDivStruct=null; var _$variablesScopeVariable_func=function(){     var self=this;     var variables={};     self.__init=function(){         var localdivstruct=globalDivStruct;         var __output_var="";         var tmpVarArray={};         localdivstruct.outputvar+=message;        return""     } }; function __startPage__$variablesScopeVariable(){     document.write("\x3cdiv id\x3d'__cfclient_0'\x3e\x3c/div\x3e");     window.ispgbuild=false;     var clientDivStruct={         divId        : "__cfclient_0",         outputvar    :""     };     globalDivStruct=clientDivStruct;     try{         _$variablesScopeVariable=new _$variablesScopeVariable_func;         _$variablesScopeVariable.__init()     }     catch(__eArg){         if(__eArg!=="$$$cfclient_abort$$$")             throw __eArg;     }     __$cf.__flush(clientDivStruct) } __startPage__$variablesScopeVariable(); </script>
    The only significant difference (other than function names, based on the file names) between this and the URL-scoped example is the indicated line above is replaced by this in the URL example:
    localdivstruct.outputvar+=__$cf.__arrayGet(URL,"message",true);
    So it's like it's trying to do the right thing, but just failing. I thought it might be because CF does stupid thinks with scope-key casing, and changed the <cfclient> code to expect URL.MESSAGE not URL.message, but this didn't work either.
    So I'm flummoxed. I can't find anything in any documentation which might point me in the right direction, so anyone know what the story is here?
    Update:At Joel's suggestion I tried this:
    <script> message = "G'day World"; </script> <cfclient> <cfoutput>#message#</cfoutput> </cfclient>
    Thisworked. Which elicits from me a mixture of "heh: cute" and "this is an abomination". 
    Adam

    PaulNibin wrote:
    Hi Adam,
    When you write code inside <cfclient>, it is translated to java script. It cannot access server side variables(defined outside cfclient).
    <script> message = "G'day World"; </script> <cfclient> <cfoutput>#message#</cfoutput> </cfclient>
    The above code works because, message is defined in a script block and client side CFML is interoprable with javascript. So client side CFML can use variables, functions defined in javascript blocks.
    Thanks,
    Paul
    So you're saying you did not provide a mechanism for transferring the variables from the server-side part of a file's code to the client side part? Is this not a bit of an oversight?
    And what - in your mind - is the point of having a file with blocks of both normal CFML, and then a <cfclient> block, then more CFML, then another <cfclient> block (for example) if the code cannot interact?
    Adam

  • HT1338 How does one uninstall Garageband and other things?

    How does one uninstall Garageband and other things on the Macbook air?

    Uninstalling Software: The Basics
    Most OS X applications are completely self-contained "packages" that can be uninstalled by simply dragging the application to the Trash.  Applications may create preference files that are stored in the /Home/Library/Preferences/ folder.  Although they do nothing once you delete the associated application, they do take up some disk space.  If you want you can look for them in the above location and delete them, too.
    Some applications may install an uninstaller program that can be used to remove the application.  In some cases the uninstaller may be part of the application's installer, and is invoked by clicking on a Customize button that will appear during the install process.
    Some applications may install components in the /Home/Library/Applications Support/ folder.  You can also check there to see if the application has created a folder.  You can also delete the folder that's in the Applications Support folder.  Again, they don't do anything but take up disk space once the application is trashed.
    Some applications may install a startupitem or a Log In item.  Startupitems are usually installed in the /Library/StartupItems/ folder and less often in the /Home/Library/StartupItems/ folder.  Log In Items are set in the Accounts preferences.  Open System Preferences, click on the Accounts icon, then click on the LogIn Items tab.  Locate the item in the list for the application you want to remove and click on the "-" button to delete it from the list.
    Some software use startup daemons or agents that are a new feature of the OS.  Look for them in /Library/LaunchAgents/ and /Library/LaunchDaemons/ or in /Home/Library/LaunchAgents/.
    If an application installs any other files the best way to track them down is to do a Finder search using the application name or the developer name as the search term.  Unfortunately Spotlight will not look in certain folders by default.  You can modify Spotlight's behavior or use a third-party search utility, EasyFind, instead.
    Some applications install a receipt in the /Library/Receipts/ folder.  Usually with the same name as the program or the developer.  The item generally has a ".pkg" extension.  Be sure you also delete this item as some programs use it to determine if it's already installed.
    There are many utilities that can uninstall applications.  Here is a selection:
        1. AppZapper
        2. AppDelete
        3. Automaton
        4. Hazel
        5. AppCleaner
        6. CleanApp
        7. iTrash
        8. Amnesia
        9. Uninstaller
      10. Spring Cleaning
    For more information visit The XLab FAQs and read the FAQ on removing software.

  • My husband was trying to reload and delete printers and he some how reset many settings on his mac book pro - how does he go back and set everything for earlier today

    My husband was trying to reload and delete printers and he some how reset many settings on his mac book pro - how does he go back and set everything for earlier today

    As Terence said you're experiencing a kernel panic. Boot into your System install disk and launch Disk Utility from the Utilities menu in the first window after the language selection window. Repair the disk. If DU finds problems and runs repairs do it a second time and then reboot.

  • 2 locations, 2 core switch stacks, fibre in between, equal cost load balancing between?

    Hi,
    We've recently inherited a job that another company was doing, so we've had our hand slightly forced on the kit and overall topology involved, however that's all fine and we can make it work.
    This is a collapsed core topology with core and access switches, split over 3 blocks (fibre connections between), one core switch/stack is in block B and the other in block C, with access switches throughout.
    They require all access switches to be connected to the Core in B and the Core in C, and then obviously cross connects between the two cores.
    They state:
    "Core switches shall be linked with 2x 1Gbps links bonded into a standard compliant Etherchannel"
    "Uplinks between access and core switches shall be non-blocking - for example equal cost load balancing at layer 3, or layer 2 bonded multi-chassis Etherchannel"
    The specced kit for the core are 3850's, in an ideal world I'd use VSS (Virtual Switch System) to achieve the above statements beyond repute; but this is only supported on 4500/6500 and Nexus platforms.
    Do we think a cross stack etherchannel (LACP between both core switch stacks) would satisfy the above statements? Or the statements may just be badly worded...
    I look forward to your thoughts and views on this! Thanks!

    Disclaimer
    The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.
    Liability Disclaimer
    In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.
    Posting
    As the others have noted, the 3850s, to stack, are restricted to the length of the longest stack cables.
    As you have noted, VSS physical units would allow the "logical" unit to be far apart.
    For a "small" VSS core, the 4500-X might be an idea unit.  (Other than cost, the 4500 would be a better choice for a core device.)
    Something to watch for, or understand, when running VSS, Etherchannel doesn't load balance as it does on a single chassis or stack.  VSS will avoid using the VSL cross link unless it must.
    As many access switches, today, support basic L3 routing, you might also determine whether a L3 edge would be a suitable alternative choice.  It would allow retention of the 3850s and can offer some advantages even over VSS.  (Where VSS is very nice [as too the Nexus] supporting servers with Etherchannels.)

  • How to use direct select and insert or load to speedup the process instead of cursur

    Hi friends,
    I have stored procedure .In SP i am using cursur to load data from Parent to several child table.
    I have attached the script with this message.
    And my problem is how to use direct select and insert or load to speedup the process instead of cursur.
    Can any one please suggest me how to change this scripts pls.
    USE [IconicMarketing]
    GO
    /****** Object: StoredProcedure [dbo].[SP_DMS_INVENTORY] Script Date: 3/6/2015 3:34:03 PM ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author: <ARUN,NAGARAJ>
    -- Create date: <11/21/2014>
    -- Description: <STORED PROCEDURE FOR DMS_INVENTORY>
    -- =============================================
    ALTER PROCEDURE [dbo].[SP_DMS_INVENTORY]
    @Specific_Date varchar(20) ,
    @DealerNum Varchar(6),
    @Date_Daily varchar(50)
    AS
    BEGIN
    SET NOCOUNT ON;
    --==========================================================================
    -- INVENTORY_CURSUR
    --==========================================================================
    DECLARE
    @FileType varchar(50),
    @ACDealerID varchar(50),
    @ClientDealerID varchar(50),
    @DMSType varchar(50),
    @StockNumber varchar(50),
    @InventoryDate datetime ,
    @StockType varchar(100),
    @DMSStatus varchar(50),
    @InvoicePrice numeric(18, 2),
    @CostPack varchar(50),
    @SalesCost numeric(18, 2),
    @HoldbackAmount numeric(18, 2),
    @ListPrice numeric(18, 2),
    @MSRP varchar(max),
    @LotLocation varchar(50),
    @TagLine varchar(max),
    @Certification varchar(max),
    @CertificationNumber varchar(max),
    @VehicleVIN varchar(50),
    @VehicleYear bigint ,
    @VehicleMake varchar(50),
    @VehicleModel varchar(50),
    @VehicleModelCode varchar(50),
    @VehicleTrim varchar(50),
    @VehicleSubTrimLevel varchar(max),
    @Classification varchar(max),
    @TypeCode varchar(100),
    @VehicleMileage bigint ,
    @EngineCylinderCount varchar(10) ,
    @TransmissionType varchar(50),
    @VehicleExteriorColor varchar(50),
    @VehicleInteriorColor varchar(50),
    @CreatedDate datetime ,
    @LastModifiedDate datetime ,
    @ModifiedFlag varchar(max),
    @InteriorColorCode varchar(50),
    @ExteriorColorCode varchar(50),
    @PackageCode varchar(50),
    @CodedCost varchar(50),
    @Air varchar(100),
    @OrderType varchar(max),
    @AgeDays bigint ,
    @OutstandingRO varchar(50),
    @DlrAccessoryRetail varchar(50),
    @DlrAccessoryCost varchar(max),
    @DlrAccessoryDesc varchar(max),
    @ModelDesc varchar(50),
    @Memo1 varchar(1000),
    @Memo2 varchar(max),
    @Weight varchar(max),
    @FloorPlan numeric(18, 2),
    @Purchaser varchar(max),
    @PurchasedFrom varchar(max),
    @InternetPrice varchar(50),
    @InventoryAcctDollar numeric(18, 2),
    @VehicleType varchar(50),
    @DealerAccessoryCode varchar(50),
    @AllInventoryAcctDollar numeric(18, 2),
    @BestPrice varchar(50),
    @InStock bigint ,
    @AccountingMake varchar(50),
    @GasDiesel varchar(max),
    @BookValue varchar(10),
    @FactoryAccessoryDescription varchar(max),
    @TotalReturn varchar(10),
    @TotalCost varchar(10),
    @SS varchar(max),
    @VehicleBody varchar(max),
    @StandardEquipment varchar(max),
    @Account varchar(max),
    @CalculatedPrice varchar(10),
    @OriginalCost varchar(10),
    @AccessoryCore varchar(10),
    @OtherDollar varchar(10),
    @PrimaryBookValue varchar(10),
    @AmountDue varchar(10),
    @LicenseFee varchar(10),
    @ICompany varchar(max),
    @InvenAcct varchar(max),
    @Field23 varchar(max),
    @Field24 varchar(max),
    @SalesCode bigint,
    @BaseRetail varchar(10),
    @BaseInvAmt varchar(10),
    @CommPrice varchar(10),
    @Price1 varchar(10),
    @Price2 varchar(10),
    @StickerPrice varchar(10),
    @TotInvAmt varchar(10),
    @OptRetail varchar(max),
    @OptInvAmt varchar(10),
    @OptCost varchar(10),
    @Options1 varchar(max),
    @Category varchar(max),
    @Description varchar(max),
    @Engine varchar(max),
    @ModelType varchar(max),
    @FTCode varchar(max),
    @Wholesale varchar(max),
    @Retail varchar(max),
    @Draft varchar(max),
    @myerror varchar(500),
    @Inventoryid int,
    @errornumber int,
    @errorseverity varchar(500),
    @errortable varchar(50),
    @errorstate int,
    @errorprocedure varchar(500),
    @errorline varchar(50),
    @errormessage varchar(1000),
    @Invt_Id int,
    @flatfile_createddate datetime,
    @FtpDate date,
    @Inv_cur varchar(1000),
    @S_Year varchar(4),
    @S_Month varchar(2),
    @S_Date varchar(2),
    @Date_Specfic varchar(50),
    @Param_list nvarchar(max),
    @Daily_Date Varchar(50);
    --====================================================================================
    --DECLARE CURSUR FOR SPECIFIC DATE (OR) DEALER-ID WITH SPECIFIC DATE (OR) CURRENT DATE
    --====================================================================================
    set @Date_Specfic = Substring(@Specific_Date,1,4) +'-'+Substring(@Specific_Date,5,2)+'-'+Substring(@Specific_Date,7,2);
    set @Daily_Date = SUBSTRING(@Date_Daily,14,4) + '-' + SUBSTRING(@Date_Daily,18,2)+ '-' + SUBSTRING(@date_Daily,20,2)
    IF @Daily_Date IS NOT NULL
    BEGIN
    Delete From [dbo].[DMS_INVENTORY_DETAILS]
    Where DMSInventoryID in(select ID from [dbo].[DMS_INVENTORY] where CONVERT (date,FtpDate)=CONVERT (date,GETDATE()));
    Delete From [dbo].[DMS_INVENTORY_AMOUNT]
    Where DMSInventoryID in(select ID from [dbo].[DMS_INVENTORY] where CONVERT (date,FtpDate)=CONVERT (date,GETDATE()));
    Delete From [dbo].[ICONIC_INVENTORY_VEHICLE]
    Where DMSInventoryVehicleID in(select ID from [dbo].[DMS_INVENTORY] where CONVERT (date,FtpDate)=CONVERT (date,GETDATE()));
    Delete From [dbo].[DMS_INVENTORY_VEHICLE]
    Where DMSInventoryID in(select ID from [dbo].[DMS_INVENTORY] where CONVERT (date,FtpDate)=CONVERT (date,GETDATE()));
    Delete From [dbo].[ICONIC_EQUITY_INVENTORY_COMPARE]
    Where InventoryVehicleId in(select ID from [dbo].[DMS_INVENTORY] where CONVERT (date,FtpDate)=CONVERT (date,GETDATE()));
    Delete From [dbo].[DMS_INVENTORY]
    Where ID in(select ID from [dbo].[DMS_INVENTORY] where CONVERT (date,FtpDate)=CONVERT (date,GETDATE()));
    DECLARE Inventory_Cursor CURSOR FOR
    SELECT * from [dbo].[FLATFILE_INVENTORY] where
    CONVERT (date,flatfile_createddate) = CONVERT (date,GETDATE()) order by flatfile_createddate;
    END
    Else
    BEGIN
    if (@Date_Specfic IS NOT NULL AND @DealerNum != '?????')
    BEGIN
    Delete From [dbo].[DMS_INVENTORY_DETAILS]
    Where DMSInventoryID in(select ID from [dbo].[DMS_INVENTORY] where FtpDate=@Date_Specfic AND DMSDealerID='ACTEST' + @DealerNum);
    Delete From [dbo].[DMS_INVENTORY_AMOUNT]
    Where DMSInventoryID in(select ID from [dbo].[DMS_INVENTORY] where FtpDate=@Date_Specfic AND DMSDealerID='ACTEST' + @DealerNum);
    Delete From [dbo].[ICONIC_INVENTORY_VEHICLE]
    Where DMSInventoryVehicleID in(select ID from [dbo].[DMS_INVENTORY] where FtpDate=@Date_Specfic AND DMSDealerID='ACTEST' + @DealerNum);
    Delete From [dbo].[DMS_INVENTORY_VEHICLE]
    Where DMSInventoryID in(select ID from [dbo].[DMS_INVENTORY] where FtpDate=@Date_Specfic AND DMSDealerID='ACTEST' + @DealerNum);
    Delete From [dbo].[ICONIC_EQUITY_INVENTORY_COMPARE]
    Where InventoryVehicleId in(select ID from [dbo].[DMS_INVENTORY] where FtpDate=@Date_Specfic AND DMSDealerID='ACTEST' + @DealerNum);
    Delete From [dbo].[DMS_INVENTORY]
    Where ID in(select ID from [dbo].[DMS_INVENTORY] where FtpDate=@Date_Specfic AND DMSDealerID='ACTEST' + @DealerNum);
    DECLARE Inventory_Cursor CURSOR FOR
    SELECT * from [dbo].[FLATFILE_INVENTORY] where FtpDate=@Date_Specfic AND ACDealerID='ACTEST' + @DealerNum;
    END
    ELSE
    BEGIN
    Delete From [dbo].[DMS_INVENTORY_DETAILS]
    Where DMSInventoryID in(select ID from [dbo].[DMS_INVENTORY] where FtpDate=@Date_Specfic);
    Delete From [dbo].[DMS_INVENTORY_AMOUNT]
    Where DMSInventoryID in(select ID from [dbo].[DMS_INVENTORY] where FtpDate=@Date_Specfic);
    Delete From [dbo].[ICONIC_INVENTORY_VEHICLE]
    Where DMSInventoryVehicleID in(select ID from [dbo].[DMS_INVENTORY] where FtpDate=@Date_Specfic);
    Delete From [dbo].[DMS_INVENTORY_VEHICLE]
    Where DMSInventoryID in(select ID from [dbo].[DMS_INVENTORY] where FtpDate=@Date_Specfic);
    Delete From [dbo].[ICONIC_EQUITY_INVENTORY_COMPARE]
    Where InventoryVehicleId in(select ID from [dbo].[DMS_INVENTORY] where FtpDate=@Date_Specfic);
    Delete From [dbo].[DMS_INVENTORY]
    Where ID in(select ID from [dbo].[DMS_INVENTORY] where FtpDate=@Date_Specfic);
    DECLARE Inventory_Cursor CURSOR FOR
    SELECT * from [dbo].[FLATFILE_INVENTORY] where FtpDate=@Date_Specfic;
    END
    END
    OPEN Inventory_Cursor
    FETCH NEXT FROM Inventory_Cursor
    INTO
    @FileType ,
    @ACDealerID ,
    @ClientDealerID ,
    @DMSType ,
    @StockNumber ,
    @InventoryDate ,
    @StockType ,
    @DMSStatus ,
    @InvoicePrice ,
    @CostPack ,
    @SalesCost ,
    @HoldbackAmount ,
    @ListPrice ,
    @MSRP ,
    @LotLocation ,
    @TagLine ,
    @Certification ,
    @CertificationNumber ,
    @VehicleVIN ,
    @VehicleYear ,
    @VehicleMake ,
    @VehicleModel ,
    @VehicleModelCode ,
    @VehicleTrim ,
    @VehicleSubTrimLevel ,
    @Classification ,
    @TypeCode ,
    @VehicleMileage ,
    @EngineCylinderCount ,
    @TransmissionType ,
    @VehicleExteriorColor ,
    @VehicleInteriorColor ,
    @CreatedDate ,
    @LastModifiedDate ,
    @ModifiedFlag ,
    @InteriorColorCode ,
    @ExteriorColorCode ,
    @PackageCode ,
    @CodedCost ,
    @Air ,
    @OrderType ,
    @AgeDays ,
    @OutstandingRO ,
    @DlrAccessoryRetail ,
    @DlrAccessoryCost ,
    @DlrAccessoryDesc ,
    @ModelDesc ,
    @Memo1 ,
    @Memo2 ,
    @Weight ,
    @FloorPlan ,
    @Purchaser ,
    @PurchasedFrom ,
    @InternetPrice ,
    @InventoryAcctDollar ,
    @VehicleType ,
    @DealerAccessoryCode ,
    @AllInventoryAcctDollar ,
    @BestPrice ,
    @InStock ,
    @AccountingMake ,
    @GasDiesel ,
    @BookValue ,
    @FactoryAccessoryDescription ,
    @TotalReturn ,
    @TotalCost ,
    @SS ,
    @VehicleBody ,
    @StandardEquipment ,
    @Account ,
    @CalculatedPrice ,
    @OriginalCost ,
    @AccessoryCore ,
    @OtherDollar ,
    @PrimaryBookValue ,
    @AmountDue ,
    @LicenseFee ,
    @ICompany ,
    @InvenAcct ,
    @Field23 ,
    @Field24 ,
    @SalesCode ,
    @BaseRetail ,
    @BaseInvAmt ,
    @CommPrice ,
    @Price1 ,
    @Price2 ,
    @StickerPrice ,
    @TotInvAmt ,
    @OptRetail ,
    @OptInvAmt ,
    @OptCost ,
    @Options1 ,
    @Category ,
    @Description ,
    @Engine ,
    @ModelType ,
    @FTCode ,
    @Wholesale ,
    @Retail ,
    @Draft ,
    @flatfile_createddate,
    @FtpDate;
    WHILE @@FETCH_STATUS = 0
    BEGIN
    --==========================================================================
    -- INSERT INTO INVENTORY (PARENT TABLE)
    --==========================================================================
    BEGIN TRY
    INSERT INTO [dbo].[DMS_INVENTORY]
    DMSDealerID,
    StockNumber,
    DMSType,
    InventoryDate,
    FtpDate
    VALUES (@ClientDealerID,@StockNumber,@DMSType,@InventoryDate,@FtpDate);
    END TRY
    BEGIN CATCH
    SELECT
    @errornumber = ERROR_NUMBER(),
    @errorseverity = ERROR_SEVERITY(),
    @errortable = 'DMS_INVENTORY',
    @errorstate = ERROR_STATE(),
    @errorprocedure = ERROR_PROCEDURE(),
    @errorline = ERROR_LINE(),
    @errormessage = ERROR_MESSAGE();
    --==========================================================================
    -- INSERT ERRORS INTO DMSLOG_INVENTORY_ERROR
    --==========================================================================
    EXEC [SP_DMS_INVENTORY_ERROR] @FileType,@ACDealerID,@ClientDealerID,@DMSType,@StockNumber,@InventoryDate,@StockType,@DMSStatus,@InvoicePrice,@CostPack,
    @SalesCost,@HoldbackAmount,@ListPrice,@MSRP,@LotLocation,@TagLine,@Certification,@CertificationNumber,@VehicleVIN,@VehicleYear,@VehicleMake,@VehicleModel,@VehicleModelCode,
    @VehicleTrim,@VehicleSubTrimLevel,@Classification,@TypeCode,@VehicleMileage,@EngineCylinderCount,@TransmissionType,@VehicleExteriorColor,@VehicleInteriorColor,
    @CreatedDate,@LastModifiedDate,@ModifiedFlag,@InteriorColorCode,@ExteriorColorCode,@PackageCode,@CodedCost,@Air,@OrderType,@AgeDays,@OutstandingRO,
    @DlrAccessoryRetail,@DlrAccessoryCost,@DlrAccessoryDesc,@ModelDesc,@Memo1,@Memo2,@Weight,@FloorPlan,@Purchaser,@PurchasedFrom,@InternetPrice,
    @InventoryAcctDollar,@VehicleType,@DealerAccessoryCode,@AllInventoryAcctDollar,@BestPrice,@InStock,@AccountingMake,@GasDiesel,@BookValue,
    @FactoryAccessoryDescription,@TotalReturn,@TotalCost,@SS,@VehicleBody,@StandardEquipment,@Account,@CalculatedPrice,@OriginalCost,@AccessoryCore,
    @OtherDollar,@PrimaryBookValue,@AmountDue,@LicenseFee,@ICompany,@InvenAcct,@Field23,@Field24,@SalesCode,@BaseRetail,@BaseInvAmt,@CommPrice,@Price1,
    @Price2,@StickerPrice,@TotInvAmt,@OptRetail,@OptInvAmt,@OptCost,@Options1,@Category,@Description,@Engine,@ModelType,@FTCode,@Wholesale,@Retail,@Draft,
    @ERRORNUMBER,@ERRORSEVERITY,@ERRORTABLE,@ERRORSTATE,@ERRORPROCEDURE,@ERRORLINE,@errormessage,@FtpDate
    END CATCH
    -- PRINT @errornumber;
    -- PRINT @errorseverity;
    -- PRINT @errortable;
    -- PRINT @errorprocedure;
    -- PRINT @errorline;
    -- PRINT @errormessage;
    -- PRINT @errorstate;
    set @myerror = @@ERROR;
    -- This -- PRINT statement -- PRINTs 'Error = 0' because
    -- @@ERROR is reset in the IF statement above.
    -- PRINT N'Error = ' + @myerror;
    set @Inventoryid = scope_identity();
    -- PRINT @Inventoryid;
    --==========================================================================
    -- INSERT INTO DMS_INVENTORY_DETAILS (CHILD TABLE)
    --==========================================================================
    BEGIN TRY
    INSERT INTO [dbo].[DMS_INVENTORY_DETAILS]
    DMSInventoryID,
    StockType,
    DMSStatus,
    LotLocation,
    TagLine,
    Certification,
    CertificationNumber,
    CreatedDate,
    LastModifiedDate,
    ModifiedFlag,
    PackageCode,
    OrderType,
    AgeDays,
    OutstandingRO,
    Memo1,
    Memo2,
    Purchaser,
    PurchasedFrom,
    DealerAccessoryCode,
    InStock,
    AccountingMake,
    SS,
    Account,
    AccessoryCore,
    ICompany,
    InvenAcct,
    Field23,
    Field24,
    SalesCode,
    Draft,
    FTCode,
    FtpDate
    VALUES (
    @InventoryID,
    @StockType,
    @DMSStatus,
    @LotLocation,
    @TagLine,
    @Certification,
    @CertificationNumber,
    @CreatedDate,
    @LastModifiedDate,
    @ModifiedFlag,
    @PackageCode,
    @OrderType,
    @AgeDays,
    @OutstandingRO,
    @Memo1,
    @Memo2,
    @Purchaser,
    @PurchasedFrom,
    @DealerAccessoryCode,
    @InStock,
    @AccountingMake,
    @SS,
    @Account,
    @AccessoryCore,
    @ICompany,
    @InvenAcct,
    @Field23,
    @Field24,
    @SalesCode,
    @Draft,
    @FTCode,
    @FtpDate
    END TRY
    BEGIN CATCH
    SELECT
    @errornumber = ERROR_NUMBER(),
    @errorseverity = ERROR_SEVERITY(),
    @errorstate = ERROR_STATE(),
    @errortable = 'DMS_INVENTORY_DETAILS',
    @errorprocedure = ERROR_PROCEDURE(),
    @errorline = ERROR_LINE(),
    @errormessage = ERROR_MESSAGE();
    --==========================================================================
    -- INSERT ERRORS INTO DMSLOG_INVENTORY_ERROR
    --==========================================================================
    EXECUTE [SP_DMS_INVENTORY_ERROR] @FileType,@ACDealerID,@ClientDealerID,@DMSType,@StockNumber,@InventoryDate,@StockType,@DMSStatus,@InvoicePrice,@CostPack,
    @SalesCost,@HoldbackAmount,@ListPrice,@MSRP,@LotLocation,@TagLine,@Certification,@CertificationNumber,@VehicleVIN,@VehicleYear,@VehicleMake,@VehicleModel,@VehicleModelCode,
    @VehicleTrim,@VehicleSubTrimLevel,@Classification,@TypeCode,@VehicleMileage,@EngineCylinderCount,@TransmissionType,@VehicleExteriorColor,@VehicleInteriorColor,
    @CreatedDate,@LastModifiedDate,@ModifiedFlag,@InteriorColorCode,@ExteriorColorCode,@PackageCode,@CodedCost,@Air,@OrderType,@AgeDays,@OutstandingRO,
    @DlrAccessoryRetail,@DlrAccessoryCost,@DlrAccessoryDesc,@ModelDesc,@Memo1,@Memo2,@Weight,@FloorPlan,@Purchaser,@PurchasedFrom,@InternetPrice,
    @InventoryAcctDollar,@VehicleType,@DealerAccessoryCode,@AllInventoryAcctDollar,@BestPrice,@InStock,@AccountingMake,@GasDiesel,@BookValue,
    @FactoryAccessoryDescription,@TotalReturn,@TotalCost,@SS,@VehicleBody,@StandardEquipment,@Account,@CalculatedPrice,@OriginalCost,@AccessoryCore,
    @OtherDollar,@PrimaryBookValue,@AmountDue,@LicenseFee,@ICompany,@InvenAcct,@Field23,@Field24,@SalesCode,@BaseRetail,@BaseInvAmt,@CommPrice,@Price1,
    @Price2,@StickerPrice,@TotInvAmt,@OptRetail,@OptInvAmt,@OptCost,@Options1,@Category,@Description,@Engine,@ModelType,@FTCode,@Wholesale,@Retail,@Draft,
    @ERRORNUMBER,@ERRORSEVERITY,@ERRORTABLE,@ERRORSTATE,@ERRORPROCEDURE,@ERRORLINE,@errormessage,@FtpDate
    END CATCH
    --==========================================================================
    -- INSERT INTO DMS_INVENTORY_AMOUNT (CHILD TABLE)
    --==========================================================================
    BEGIN TRY
    INSERT INTO [dbo].[DMS_INVENTORY_AMOUNT]
    DMSInventoryID,
    AllInventoryAcctDollar,
    OtherDollar,
    PrimaryBookValue,
    AmountDue,
    LicenseFee,
    CalculatedPrice,
    OriginalCost,
    BookValue,
    TotalReturn,
    TotalCost,
    DlrAccessoryRetail,
    DlrAccessoryCost,
    DlrAccessoryDesc,
    InternetPrice,
    InventoryAcctDollar,
    BestPrice,
    Weight,
    FloorPlan,
    CodedCost,
    InvoicePrice,
    CostPack,
    SalesCost,
    HoldbackAmount,
    ListPrice,
    MSRP,
    BaseRetail,
    BaseInvAmt,
    CommPrice,
    Price1,
    Price2,
    StickerPrice,
    TotInvAmt,
    OptRetail,
    OptInvAmt,
    OptCost,
    Wholesale,
    Retail,
    FtpDate
    VALUES (
    @InventoryID,
    @AllInventoryAcctDollar,
    @OtherDollar,
    @PrimaryBookValue,
    @AmountDue,
    @LicenseFee,
    @CalculatedPrice,
    @OriginalCost,
    @BookValue,
    @TotalReturn,
    @TotalCost,
    @DlrAccessoryRetail,
    @DlrAccessoryCost,
    @DlrAccessoryDesc,
    @InternetPrice,
    @InventoryAcctDollar,
    @BestPrice,
    @Weight,
    @FloorPlan,
    @CodedCost,
    @InvoicePrice,
    @CostPack,
    @SalesCost,
    @HoldbackAmount,
    @ListPrice,
    @MSRP,
    @BaseRetail,
    @BaseInvAmt,
    @CommPrice,
    @Price1,
    @Price2,
    @StickerPrice,
    @TotInvAmt,
    @OptRetail,
    @OptInvAmt,
    @OptCost,
    @Wholesale,
    @Retail,
    @FtpDate
    END TRY
    BEGIN CATCH
    SELECT
    @errornumber = ERROR_NUMBER(),
    @errorseverity = ERROR_SEVERITY(),
    @errortable = 'DMS_INVENTORY_AMOUNT',
    @errorstate = ERROR_STATE(),
    @errorprocedure = ERROR_PROCEDURE(),
    @errorline = ERROR_LINE(),
    @errormessage = ERROR_MESSAGE();
    --==========================================================================
    -- INSERT ERRORS INTO DMSLOG_INVENTORY_ERROR
    --==========================================================================
    EXEC [SP_DMS_INVENTORY_ERROR] @FileType,@ACDealerID,@ClientDealerID,@DMSType,@StockNumber,@InventoryDate,@StockType,@DMSStatus,@InvoicePrice,@CostPack,
    @SalesCost,@HoldbackAmount,@ListPrice,@MSRP,@LotLocation,@TagLine,@Certification,@CertificationNumber,@VehicleVIN,@VehicleYear,@VehicleMake,@VehicleModel,@VehicleModelCode,
    @VehicleTrim,@VehicleSubTrimLevel,@Classification,@TypeCode,@VehicleMileage,@EngineCylinderCount,@TransmissionType,@VehicleExteriorColor,@VehicleInteriorColor,
    @CreatedDate,@LastModifiedDate,@ModifiedFlag,@InteriorColorCode,@ExteriorColorCode,@PackageCode,@CodedCost,@Air,@OrderType,@AgeDays,@OutstandingRO,
    @DlrAccessoryRetail,@DlrAccessoryCost,@DlrAccessoryDesc,@ModelDesc,@Memo1,@Memo2,@Weight,@FloorPlan,@Purchaser,@PurchasedFrom,@InternetPrice,
    @InventoryAcctDollar,@VehicleType,@DealerAccessoryCode,@AllInventoryAcctDollar,@BestPrice,@InStock,@AccountingMake,@GasDiesel,@BookValue,
    @FactoryAccessoryDescription,@TotalReturn,@TotalCost,@SS,@VehicleBody,@StandardEquipment,@Account,@CalculatedPrice,@OriginalCost,@AccessoryCore,
    @OtherDollar,@PrimaryBookValue,@AmountDue,@LicenseFee,@ICompany,@InvenAcct,@Field23,@Field24,@SalesCode,@BaseRetail,@BaseInvAmt,@CommPrice,@Price1,
    @Price2,@StickerPrice,@TotInvAmt,@OptRetail,@OptInvAmt,@OptCost,@Options1,@Category,@Description,@Engine,@ModelType,@FTCode,@Wholesale,@Retail,@Draft,
    @ERRORNUMBER,@ERRORSEVERITY,@ERRORTABLE,@ERRORSTATE,@ERRORPROCEDURE,@ERRORLINE,@errormessage,@FtpDate
    END CATCH
    --==========================================================================
    -- INSERT INTO DMS_INVENTORY_VEHICLE (CHILD TABLE)
    --==========================================================================
    BEGIN TRY
    INSERT INTO [dbo].[DMS_INVENTORY_VEHICLE]
    DMSInventoryID,
    InteriorColorCode,
    ExteriorColorCode,
    Air,
    ModelDesc,
    VehicleType,
    VehicleVIN,
    VehicleYear,
    VehicleMake,
    VehicleModel,
    VehicleModelCode,
    VehicleTrim,
    VehicleSubTrimLevel,
    Classification,
    TypeCode,
    VehicleMileage,
    FtpDate,
    EngineCylinderCount
    VALUES (
    @InventoryID,
    @InteriorColorCode,
    @ExteriorColorCode,
    @Air,
    @ModelDesc,
    @VehicleType,
    @VehicleVIN,
    @VehicleYear,
    @VehicleMake,
    @VehicleModel,
    @VehicleModelCode,
    @VehicleTrim,
    @VehicleSubTrimLevel,
    @Classification,
    @TypeCode,
    @VehicleMileage,
    @FtpDate,
    @EngineCylinderCount
    END TRY
    BEGIN CATCH
    SELECT
    @errornumber = ERROR_NUMBER(),
    @errorseverity = ERROR_SEVERITY(),
    @errortable = 'DMS_INVENTORY_VEHICLE',
    @errorstate = ERROR_STATE(),
    @errorprocedure = ERROR_PROCEDURE(),
    @errorline = ERROR_LINE(),
    @errormessage = ERROR_MESSAGE();
    --==========================================================================
    -- INSERT ERRORS INTO DMSLOG_INVENTORY_ERROR
    --==========================================================================
    EXEC [SP_DMS_INVENTORY_ERROR] @FileType,@ACDealerID,@ClientDealerID,@DMSType,@StockNumber,@InventoryDate,@StockType,@DMSStatus,@InvoicePrice,@CostPack,
    @SalesCost,@HoldbackAmount,@ListPrice,@MSRP,@LotLocation,@TagLine,@Certification,@CertificationNumber,@VehicleVIN,@VehicleYear,@VehicleMake,@VehicleModel,@VehicleModelCode,
    @VehicleTrim,@VehicleSubTrimLevel,@Classification,@TypeCode,@VehicleMileage,@EngineCylinderCount,@TransmissionType,@VehicleExteriorColor,@VehicleInteriorColor,
    @CreatedDate,@LastModifiedDate,@ModifiedFlag,@InteriorColorCode,@ExteriorColorCode,@PackageCode,@CodedCost,@Air,@OrderType,@AgeDays,@OutstandingRO,
    @DlrAccessoryRetail,@DlrAccessoryCost,@DlrAccessoryDesc,@ModelDesc,@Memo1,@Memo2,@Weight,@FloorPlan,@Purchaser,@PurchasedFrom,@InternetPrice,
    @InventoryAcctDollar,@VehicleType,@DealerAccessoryCode,@AllInventoryAcctDollar,@BestPrice,@InStock,@AccountingMake,@GasDiesel,@BookValue,
    @FactoryAccessoryDescription,@TotalReturn,@TotalCost,@SS,@VehicleBody,@StandardEquipment,@Account,@CalculatedPrice,@OriginalCost,@AccessoryCore,
    @OtherDollar,@PrimaryBookValue,@AmountDue,@LicenseFee,@ICompany,@InvenAcct,@Field23,@Field24,@SalesCode,@BaseRetail,@BaseInvAmt,@CommPrice,@Price1,
    @Price2,@StickerPrice,@TotInvAmt,@OptRetail,@OptInvAmt,@OptCost,@Options1,@Category,@Description,@Engine,@ModelType,@FTCode,@Wholesale,@Retail,@Draft,
    @ERRORNUMBER,@ERRORSEVERITY,@ERRORTABLE,@ERRORSTATE,@ERRORPROCEDURE,@ERRORLINE,@errormessage,@FtpDate
    END CATCH
    --==========================================================================
    -- MOVE CURSUR TO NEXT RECORD
    --==========================================================================
    FETCH NEXT FROM Inventory_Cursor
    INTO @FileType ,
    @ACDealerID ,
    @ClientDealerID ,
    @DMSType ,
    @StockNumber ,
    @InventoryDate ,
    @StockType ,
    @DMSStatus ,
    @InvoicePrice ,
    @CostPack ,
    @SalesCost ,
    @HoldbackAmount ,
    @ListPrice ,
    @MSRP ,
    @LotLocation ,
    @TagLine ,
    @Certification ,
    @CertificationNumber ,
    @VehicleVIN ,
    @VehicleYear ,
    @VehicleMake ,
    @VehicleModel ,
    @VehicleModelCode ,
    @VehicleTrim ,
    @VehicleSubTrimLevel ,
    @Classification ,
    @TypeCode ,
    @VehicleMileage ,
    @EngineCylinderCount ,
    @TransmissionType ,
    @VehicleExteriorColor ,
    @VehicleInteriorColor ,
    @CreatedDate ,
    @LastModifiedDate ,
    @ModifiedFlag ,
    @InteriorColorCode ,
    @ExteriorColorCode ,
    @PackageCode ,
    @CodedCost ,
    @Air ,
    @OrderType ,
    @AgeDays ,
    @OutstandingRO ,
    @DlrAccessoryRetail ,
    @DlrAccessoryCost ,
    @DlrAccessoryDesc ,
    @ModelDesc ,
    @Memo1 ,
    @Memo2 ,
    @Weight ,
    @FloorPlan ,
    @Purchaser ,
    @PurchasedFrom ,
    @InternetPrice ,
    @InventoryAcctDollar ,
    @VehicleType ,
    @DealerAccessoryCode ,
    @AllInventoryAcctDollar ,
    @BestPrice ,
    @InStock ,
    @AccountingMake ,
    @GasDiesel ,
    @BookValue ,
    @FactoryAccessoryDescription ,
    @TotalReturn ,
    @TotalCost ,
    @SS ,
    @VehicleBody ,
    @StandardEquipment ,
    @Account ,
    @CalculatedPrice ,
    @OriginalCost ,
    @AccessoryCore ,
    @OtherDollar ,
    @PrimaryBookValue ,
    @AmountDue ,
    @LicenseFee ,
    @ICompany ,
    @InvenAcct ,
    @Field23 ,
    @Field24 ,
    @SalesCode ,
    @BaseRetail ,
    @BaseInvAmt ,
    @CommPrice ,
    @Price1 ,
    @Price2 ,
    @StickerPrice ,
    @TotInvAmt ,
    @OptRetail ,
    @OptInvAmt ,
    @OptCost ,
    @Options1 ,
    @Category ,
    @Description ,
    @Engine ,
    @ModelType ,
    @FTCode ,
    @Wholesale ,
    @Retail ,
    @Draft ,
    @flatfile_createddate,
    @FtpDate;
    END
    CLOSE Inventory_Cursor;
    DEALLOCATE Inventory_Cursor;
    SET ANSI_PADDING OFF
    END
    Arunraj Kumar

    Thank you.
    And another question if the data is already there in the child table if i try to load alone it must delete the old data in the child tablee and need to get load the new data and 
    How to do this ?
    Arunraj Kumar
    You can do that with an IF EXISTS condition
    IF EXISTS (SELECT 1
    FROM YourChildTable c
    INNER JOIn @temptable t
    ON c.Bkey1 = t.Bkey1
    AND c.Bkey2 = t.Bkey2
    DELETE t
    FROM YourChildTable c
    INNER JOIn @temptable t
    ON c.Bkey1 = t.Bkey1
    AND c.Bkey2 = t.Bkey2
    INSERT INTO YourChildTable
    where Bkey1,Bkey2 etc forms the business key of the table
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • How to make IIS plug-in do STICKY load balancing

    There are two classes of scalable services: pure and sticky. A pure service
    is one where any instance of the application can respond to client requests.
    A sticky service is one where a client sends its requests to the same
    instance; those requests are not redirected to other instances.
    It seems to me that weblogic IIS proxy plug-in does not support the sticky
    load balancing.
    Could someone give me some information on how to make the proxy sticky?
    Is there configuration parameters for this?
    Thanks,
    -Lei

    I set the cluster.
    It seems to me that there is some problem with the Set-Cookie mechanism of
    the plug-in.
    Sometime it set the cookie in my browser, sometime it is not.
    Even from the wlproxy.log, I could set something like
    Fri Aug 03 17:56:12 2001 Hdrs to
    client:[Set-Cookie]=[AribaNode=O2tII92qHlP2tpZjUV0m5ued1s6X028cUPu24QcGj1Q25
    AE5VXOd!1782877802312707887!ltang.ariba.com!8001!7002; domain=ariba.com;
    path=/]
    But the cookie is not set in my browser, what might be wrong here?
    Thanks,
    -Lei
    "Eric Gross" <[email protected]> wrote in message
    news:[email protected]...
    I do believe that this will not work since if clustering is not enabled, a
    cookie will not be set on the browser that contains the primary and
    secondary server.
    You are specifying two different ports in your servers. You need to use
    clustering in order to get this functionality with the plugin.Furthermore,
    you will achieve fail-over.
    Regards,
    Eric
    "Lei Tang" <[email protected]> wrote in message
    news:[email protected]...
    Here is what I did for the examples under the bea sample directory.
    I put the following in test1/WEB-INF/weblogic.xml
    <session-descriptor>
    <session-param>
    <param-name> CookieDomain </param-name>
    <param-value> *.ariba.com </param-value>
    </session-param>
    <session-param>
    <param-name> CookieName </param-name>
    <param-value> AribaNode </param-value>
    </session-param>
    <session-param>
    <param-name> CookiePath </param-name>
    <param-value> /test1 </param-value>
    </session-param>
    </session-descriptor>
    </weblogic-web-app>
    I add the following in iisproxy.ini
    # This file contains initialization name/value pairs
    # for the IIS/WebLogic plug-in.
    WebLogicCluster=ltang.ariba.com:8001,achu.ariba.com:7001
    ConnectTimeoutSecs=20
    ConnectRetrySecs=2
    Debug=ALL
    WLLogFile=c:\tmp\wlproxy.log
    WlForwardPath=/test1
    DynamicServerList=OFF
    CookieName=AribaNode
    I use SesssionServlet.java as an example
    When I involk http://proxy/test1/SessionServlet, I always get 1
    if I use
    http://proxy/test1/SessionServlet:AribaNode=................................
    I could see the session becomes sticky.
    If I do not want to use URL rewriting, what should I do in order to makethe
    session STICKY
    for this example.
    Thanks,
    -Lei
    "Eric Gross" <[email protected]> wrote in message
    news:[email protected]...
    If you leave the CookieName untouched on the WebLogic side, then there
    should be no reason to make the change in the plug-in.
    But yes, you need to make sure the cookie names are the same.
    Regards,
    Eric
    "Mark Vaughn" <[email protected]> wrote in message
    news:[email protected]...
    Actually, you also need to make sure you set the "CookieName" in theplugin.
    That let's the plugin read the cookie set by WebLogic to determine
    who
    the
    primary and secondary servers are for that session. Otherwise, theplugin
    has no
    way of knowing if you are establishing a new session or returning to
    an
    existing
    one. The cookie will tell it if you have a current session and who
    it
    should
    send you to for continuing that session, or failing that session
    over.
    >>>>
    Eric Gross wrote:
    Without having clustering enabled, you will not get Sticky load
    balancing.
    You need to have clustering so that a cookie is sent back to the
    client
    that
    contains information about where it's session is located.
    Otherwise,
    you
    are just going to get round-robin each time.
    You can refer to the following page for more information:
    http://e-docs.beasys.com/wls/docs61/cluster/servlet.html
    Regards,
    Eric
    "Lei Tang" <[email protected]> wrote in message
    news:[email protected]...
    WebLogicCluster=machine1:7001,machine2:7001
    ConnectTimeoutSecs=20
    ConnectRetrySecs=2
    Debug=ALL
    WLLogFile=c:\tmp\wlproxy.log
    WlForwardPath=/test,/test1
    DynamicServerList=OFF
    I run two standone (Admin server) weblogic servers on machine1
    machine2.
    Then I deploy application test.war on machine1 first, then onmachine2.
    Should I make machine2 as a managed server and machine1 as an
    admi
    n
    server?
    Will this make the session sticky?
    Thanks,
    -Lei
    "Eric Gross" <[email protected]> wrote in message
    news:[email protected]...
    It would help us to know how you have iisproxy.ini configured.
    Sticky
    load
    balancing should work fine if you have the plug-in and
    WebLogic
    Server
    setup
    correctly.
    How have you setup the plug-in?
    Thanks,
    Eric
    "Lei Tang" <[email protected]> wrote in message
    news:[email protected]...
    There are two classes of scalable services: pure and sticky.
    A
    pure
    service
    is one where any instance of the application can respond to
    client
    requests.
    A sticky service is one where a client sends its requests to
    the
    same
    instance; those requests are not redirected to other
    instances.
    It seems to me that weblogic IIS proxy plug-in does notsupport
    the
    sticky
    load balancing.
    Could someone give me some information on how to make the
    proxy
    sticky?
    Is there configuration parameters for this?
    Thanks,
    -Lei
    .-. Mark Vaughn
    /V\ 7024 Corona Dr.
    // \\ North Richland Hills, TX 76180
    /( )\ [email protected]
    ^^-^^
    "Give a man a fish and you feed him for a day;
    teach him to use the Net and he won't bother you for weeks."
    Ben Woodbridge

  • How to monitor targets which are controlled by LOAD BALANCING mechanism

    Hi,
    I have installed Enterprise Manager 10.1.0.3 and upgraded it to 10.1.0.5. Then i have applied the Application plug-in patch for managing Oracle Applications.In my environment, we have two concurrent managers and four forms servers which are using Load Balancer.Please let me how to manage these concurrent managers and forms servers in that scenario.Would highly appreciate your suggestions regarding the same.Thanks in advance.
    Regards,
    Vamsi Manyam

    This note shows how to configure OEM behind a load balancer.
    The question was how to use OEM, not behind a load balancer, to monitor other targets which are behind one or different load balancers.
    For example, to monitor :
    Forms on server A and B behind load balancer LB1.
    Forms on server C and D behind load balancer LB1.
    Forms on server E and F behind load balancer LB2.
    Gary

  • How does one perform Cursor joins in DPL?

    How does one navigate the API to do cursor joins? Can one do it and still exploit DPL concepts, or must one keep open a separate low-level BDB Database?

    Hi Jdf,
    Since you said "cursor joins" I assume you are familiar with the base BDB API that provides joins via cursors. In DPL the same functionality is provided by using the EntityJoin class. Instead of cursors, you specify the secondary key values, but the result is the same. An underlying cursor join is performed for you.
    Mark

  • How does iCloud Photo Library and Optimize iPhone Storage Work?

    Even Apple Phone support can't answer these questions:
    How does iCloud Photo Library (Beta) from yesterday's 8.1 update with Optimize iPhone Storage turned on work? (I'm on an iPhone 6)
    It only stores your iPhone/iPad versions on your device, which is amazing. Why would you need anything else? It freed up around 8-10GB of space on my device which is amazing. But how does it work when you use it?
    When you email it seems to ask you, when sending what size you want to send like it's always done. It gives you the original 2.4MB version. This works like I'd imagine and when I received the test email the photo was correct. In this case I assume it hits iCloud and sends it from there, not your actual device. (Like it doesn't re-download it to email it). Correct?
    When posting to Facebook, does it do this same thing? Or is this something Facebook has to build into their iOS app in an update? Or does it just work? Correct?
    When posting to Instagram, does it grab the right version. Obviously the phone optimized version should be fine, but when viewing on a Desktop version of Instagram at instagram.com, will it show the right version?
    Sometimes I backup photos using Image Capture on the Mac. If I did that right now, would it only grab the iPhone versions? Obviously I can just test it but it'd be amazing if someone who knows these things could explain all of these use cases.
    Do you need to be on
    In closing it's more of how does this work? Does it work? Why wouldn't you want to use this feature if it saved space and made more sense? I guess I just would love some real clarity since not even the blogs are explaining how it works in every application.
    In closing part 2. It does seem to work really well, it's just those fringe cases. I just viewed all my photos on https://beta.icloud.com/#photos and they're all there, easy download of the high res, delete, it deletes from my camera roll on my phone, it's amazing, it works, it's magic. Just tell me what issues there are with storing only low res iPhone on my device and if there are none, game on!
    Thanks!

    santiagofrommiami wrote:
    And of those 4.3GB of backup, my Photo Library is 1.4GB.
    So my question is, how do I prevent my Photo Library from being backed up to the cloud, since I already have a backup of it everytime I connect to iPhoto and it copies all those photos to my mac?
    I don't know, sorry. It's supposed to work alongside Photos & iCloud, so that photos are stored only once. When it doesn't work you have a couple of options as I see it –
    Delete the old backups on iCloud to hopefully start over (I don't like deleting the only backup of anything).
    Forget about iCloud backups & use iTunes to backup instead, it might not be suitable if you have no computer etc.
    Buy more storage for iCloud.
    I don't use iCloud backup, it bemuses me with issues like this, there is no easy way to resolve when it fails.
    And one more question while we are at it...can I erase iphoto from my computer now that I have the new Photos app?
    That is up to you. If you are happy you do not need it & have a backup of it go ahead & remove it. You can re-download it from the app store if it is already in your Mac App store account.

  • How does services menu work and how to clean it up?

    You know how context menus on the mac are sometimes slow? I've figured out this has to do with the services menu.. located under keyboard -->services in the left-hand sidebar. My question is how do apps put services in that menu.. and how do I remove rather than disable a specific menu item?
    I guess my broader question is how do I completely uninstall applications when I no longer have the original app bundle? I'm just concerned about clutter acclumating over time.
    --Sam

    https://discussions.apple.com/message/1485840#1485840
    Apple found this answer for me after I posted.
    However, the question is still a good one in general. Absent something like appzapper anaylyzing the app, how does one uninstall. The services menu looks like it will be taken care of when the app is removed. Language packs must have been the culprit for me?
    --Sam

Maybe you are looking for

  • Could not save the document to the repository for the following reason

    Hi, Some of the Scheduled reports are getting failed because of the following Error. Could not save the document to the repository for the following reason: [repo_proxy 30] InfoStore::ObjectExport::commit - (Helpers::InfoStore::ObjectExport::commit)

  • CAPS - how to provide two input files for a web service

    Hi, We have a web service that takes two parameters. Each of those parameters come from a different file. When we provided two files corresponding to two parameters it reads the first input file but not the second. Can you please tell us how to achie

  • HELP Ideapad u310 touch win 7

    Hi everybody i got this ideapad U310 touch brand new and it came with win 8, then after i bought it i installed a win 7, it was working fine but the windows was asking for a valid prodcut key, i tryed a couple and no luck , so i found another win 7 f

  • IPhoto 9.6, can update only 1 out of 6 old libraries

    I have upgraded from OSX 10.9 to Yosemite (10.10.1) and then from my previous version of iPhoto (don't remember the exact version) to iPhoto 9.6. At the first opening, iPhoto asked to update the default library to work properly with the new version.

  • ASM configuration on AIX

    Hi all, I'm trying to find a best practice, or set of recommendations on installation/using 11g ASM on AIX 5.3L and thought I'd seek some feedback as I've been unable to get such information via searching. The SysAdmin team has the following concerns