Dispatch messages system design consult

I have a design question and would like to have suggestions.
I am using Weblogic 11g, EJB3.0 , Weblogic JMs
I have a system which it's target to retrieve and dispatch messages to couple of resources(databases).
Each message contain information and target database key.
So here is an flow example:
I get from web service a message and key target. I parse the message and dispatch it to the right database via the key target.
There is a possibility that a message will contain more then one target database.(for example the key 'all' means that I should dispatch to all databases.
If Insert is failing in one of the resources a rollback will occurred and I a re-try will re-execute the whole operation.
So now this is my issue:
Should I make the number of the queues as the number of my resources? (and dedicated each Queue to a specific resource)
(In this case I parse each message and just send it to the right queue while an MDB will listen and do the insertion to the right database)
If I do it that way I wont be able to make it dynamic, Meaning each time a new resource will need to be added/removed in the future I will need to open the code and make the right changes.
What you desgigners think? How could I implement it better dynamiclly?
thanks for your help,
ray

ok, suppose I have a READ_STATUS field, how would you store it then?? You have to keep track of ALL your users and that for all your messages. Suppose you have 25000 users? What I do now is store a comma delimited string for all unread users. So, in a new message, I create a string with the id's of all current users, like 1,2,3,4....24999,25000. In Flex, I convert this string to an array, which makes it easy to delete the current user's id and then write this string back to the db. Something inside me tells me that there have to be more effecient ways to do this...?
BTW, I don't use ORM, that's just the problem. If I have a person with several addresses, I keep a seperate table for the addresses and retreive those before sending a single person value object back to Flex. As it's not likely that a person would have more than 100 addresses (unless he is a criminal or Michael Jackson) this method is fine, but with storing thousands of user id's per message, well... suggestions?
Dany

Similar Messages

  • Messaging system design pattern

    Hi,
    I'm working on a messaging system build into my application.
    As a system administrator, I create messages for all the users. When a user logs in, I want unread messages to be displayed so I have to keep track of wich user read or didn't read newly created messages.
    The simplest way would be to keep track of which message was read by which user but that would increment my database until the end of time (or at least until 2012 )
    I would think that it's better to keep track of which user didn't read which message but then things would get complicated when a message is deleted.
    Also, should I store the user with the message or should I store the messages with the user?
    Does anyone have experience on this? Any suggestions?
    It's not a technical problem but an architectural one.
    Thanks,
    Dany

    ok, suppose I have a READ_STATUS field, how would you store it then?? You have to keep track of ALL your users and that for all your messages. Suppose you have 25000 users? What I do now is store a comma delimited string for all unread users. So, in a new message, I create a string with the id's of all current users, like 1,2,3,4....24999,25000. In Flex, I convert this string to an array, which makes it easy to delete the current user's id and then write this string back to the db. Something inside me tells me that there have to be more effecient ways to do this...?
    BTW, I don't use ORM, that's just the problem. If I have a person with several addresses, I keep a seperate table for the addresses and retreive those before sending a single person value object back to Flex. As it's not likely that a person would have more than 100 addresses (unless he is a criminal or Michael Jackson) this method is fine, but with storing thousands of user id's per message, well... suggestions?
    Dany

  • Systems Design Engineer for Orange County, CA

    Please mail your resume in Adobe PDF format to [email protected]
    If you have an extraordinary passion for engineering and are not afraid to take on an extremely challenging position,
    we have exactly what you have been looking for!
    Employer information:
    moviMED is a small systems engineering consulting firm located in Southern California. The central focus of our operations is to provide exceptional engineering services to the Life Science Industry in the Academic and Commercial arena. We develop cutting edge technology for major biomedical companies. We offer a broad range of services to our clients to assist them in conceptual prototype design, medical device testing, motion and vision applications.
    Job Description:
    Employee will plan, document, design, specify and build comlpex systems using best engineering practices. He/She will be required to interact with other employees, vendors and other consultants to solve problems on his/her own. Application software will be mainly developed using LabVIEW and relevant tool packages, such as (but not limited to): NI MOTION, NI VISION, Data Base Connectivity, SPC etc.
    The employee will be further required to develop custom electronic signal conditioning and other interfaces to sensors and actuators. The frequent integration of new technology and third party products will require the employee to keep him(her)self up to date by studying relevant documentation and by engaging in a substantial amount of research.
    This job is heavily oriented towards the Life Science Industry and demands more than just electronic engineering and computer science skills.
    The Ideal Candidate:
    Will have experience in the following categories:
    - Application Development using LabVIEW V6.1 and V7.x
    - Analog and Digital Circuit Design
    - Micro-Processor, Micro-Controller Programming in embedded C and/or assembly for 8-bit and 16-bit cores
    - Motion Control (Pneumatics, Servo, Stepper etc.)
    - Computer Science Skills (MS Windows, MS OFFICE, Data Base/SQL, Networks etc.)
    - Project Management
    - Sensors of all kinds, Actuators of all kinds
    Required Skills:
    - Exceptional Sense for Details
    - Highly Organized
    - Self Sufficient
    - Ability to quickly learn on its own
    - A great deal of Common Sense
    - Capabilty to work of poorly documented requirement specifications
    - People Skills
    - Teaching Other People (Holding Seminars and Presentations)
    - Great Improvisation Skills
    - Fluent in English Language (in writing and verbal)
    - Analytical Problem Solving
    - Methodical Trouble Shooting
    - Working with Time Constraints
    We look forward to receiving your resume
    Regards,
    Markus Tarin
    President & CEO
    www.movimed.com - Custom Imaging Solutions
    www.movitherm.com - Advanced Thermography Solutions

    I have just read your job posting for LabView Programmer and would like to introduce myself.
    I have over six (6) years experience with LabView, from versions 3 to 7.1.1, in systems design and programming of LabView based SCADA/DCS and signal analysis applications.
    Your job description is very interesting to me as I have had some exposure to intelligent vision systems use in manufacturing quality control and have been a practicing audio/video engineer since 1987.
    I have also looked closely at the Lake Forest, CA location and would consider relocation as I have been recently considering a warmer climate. I have been working as an independent consultant and would be willing to assist you on a part-time or full-time, term, basis if you would find that helpful. I would like to discuss the position further and will send my resume early next week. Please feel free to contact me in the mean time with any questions.
    Thanks,
    Tom Held
    [email protected]
    414-964-0518

  • DB Polling : could not dispatch message because there is no active transaction.

    We are using SOA 11.1.1.7 . In one of our SOA composite, we are seeing following error during the instantiation at the DB polling activity (randomly)
    Error while invoking bean "cube delivery": Exception not handled by the Collaxa Cube system.[[
    an unhandled exception has been thrown in the Collaxa Cube systemr; exception reported is: "ORABPEL-05007
    could not dispatch message because there is no active transaction. there is no active transaction while scheduling a message with the dispatcher. this usually happens if the underlying subsystem rollback back the transaction without bubbling up the system or transaction exception to the bpel layer. Contact Oracle Support Services. Provide the error message and the exception trace in the log files (with logging level set to debug mode).
    We do have few more polling SOA composite, but this error is more often seen in one of the process regularly. The workaround to fix the above problem is to restart the SOA composite. Let us know, if you any thoughts on this error.
    Thanks

    Any thoughts on this ? Thanks.

  • Role of SAP security design consultant

    Hi All,
    what role does a  SAP HR (SAP Security Design) Consultant play?
    how different is it from a regular SAP HR?
    pls let me know
    regards,
    Pratik

    What i assume is you will have to understand different roles of users in that company who will need access to Hr system, and classify under catogories, set up roles and define authorisation profiles, set up structural authorisations based on clients requirements.
    as far as HR is concerned you need to understand different authorisation objects,roles, profiles available in standard SAP ystem and set up new ones add some additional privileges etc whereever required. get your self familiar with various HR authorisation Objects etc.
    Also lil bit of user management, reporting on Infoytpes, tracking changes, modiufication to business critical transactions etc.

  • HELP - Message Driven Design

    Hi people,
    we're looking for colleagues who have also implemented a system with
    asynchronous components.
    As we were testing this kind of design, we discovered that response times
    were very very slow (6 seconds, with no work to be done for the components).
    When message driven bean 1 sent messages to message driven bean 2, it took 6
    seconds !!
    This kind of behaviour makes an asynchronous design totally unusable for us.
    Are asynchronous components unusable for any kind of performing application
    Please give us some feedback,
    Jubin Zawar

    well so far we tested on jboss, now its weblogics turn :))
    i am intending to design an application with asynchronous components.
    there will be requests posted on topics, and these components will be
    retrieving requests from topics, work on them as long as far as they can,
    and then repost the results on topics.
    other components may take these results and continue working on them, and so
    on ... I think you get the idea.
    this means of course a large amount of messages and topics, this also means
    that message delivery must not take more than 0.1 seconds.
    we will have around 100 topics and 20 types of messagedriven EJBs in there.
    so we decided to test the performance and response times for this kind of
    application, while the ejbs are not yet developed.
    we decided for this simple scenario to benchmark :
    PostingClient posts to Topic1.
    MDB1 (a message driven EJB) is listening on topic1, gets the message, puts
    its time of receipt in the message, and sends it to topic2.
    MDB2 (a message driven EJB) is listening on topic2, gets the message, puts
    its time of receipt in the message, and sends it to topic3.
    MDB3 (a message driven EJB) is listening on topic2, gets the message, puts
    its time of receipt in the message, and sends it to topic4.
    MDB4 (a message driven EJB) is listening on topic2, gets the message, puts
    its time of receipt in the message, and sends it to topic1.
    and when the message is posted to topic1, MDB1 regets the message.
    There is another listener on topic1 --> MonitoringClient.
    MonitoringClient gets the messages arriving there, and reports the times the
    message took between the 4 MDBs.
    Summary : the messages sent into the BEA Server remain in there, and make
    loops from MDB1 to MDB4 and back again, endlessly.
    We tested this scenario on jboss, with 50 messages only. We got times of 2
    to 5 seconds.
    It is also "funny" that the times the MonitoringClient reports are longer
    and longer, they start at 2, and get to 5.
    The max pool size was 200.
    We will be testing this scenario on BEA too, but what do you think about the
    test ?
    Best regards,
    Jubin Zawar
    ----- Original Message -----
    From: "Rob Woollen" <[email protected]>
    Newsgroups:
    weblogic.developer.interest.ejb,weblogic.developer.interest.ejb.ejb20,weblog
    ic.developer.interest.misc
    Sent: Tuesday, May 22, 2001 4:46 AM
    Subject: Re: HELP - Message Driven Design
    Jubin Zawar wrote:
    Hi people,
    we're looking for colleagues who have also implemented a system with
    asynchronous components.
    As we were testing this kind of design, we discovered that response
    times
    were very very slow (6 seconds, with no work to be done for thecomponents).
    When message driven bean 1 sent messages to message driven bean 2, ittook 6
    seconds !!6 seconds seems very long for a JMS message. Can you provide anymore
    information?
    This kind of behaviour makes an asynchronous design totally unusable for
    us.
    >>
    Are asynchronous components unusable for any kind of performingapplication
    ?No, that is not true.
    -- Rob
    Please give us some feedback,
    Jubin Zawar

  • MDB messaging system warning

    When I look in the weblogic 10 admin console at any of my clustered servers and expand their susystem health display, I see the following warning for all servers. Anyone know how to fix this warning message?
              MDBbea_wls9_async_response Warning MDB application bea_wls9_async_response is NOT connected to messaging system.

    The web-services system creates some hidden MDBs that continuosly poll for specific internal destinations used in their protocols, even when they aren't in use by any application, and I think its these MDBs that might be complaining.
              A work around is to configure a JMS server with the required queues on each server, but this can cause additional problems as some environments assume every JMS server is part of their application. Another work around is configure the needed destinations as part of your current JMS servers (one per WL server). Yet another is to use an unpublished -D switch to turn off the MDBs - contact customer support to get the switch - I don't recall the name.
              I suggest consulting the web-services documentation and/or posting to a web-services newsgroup.
              Tom

  • Call to messaging system failed: com.sap.aii.af.ra.ms.api.DeliveryException

    hello
    I am running an interface RFC2WS sync and recieve this message in the RFC. the message does not get out of the XI and rich the target (WS).
    the XI been upgraded lately, and I think this might be the cuase to the problem, becuase the interface been worked before, and still working in PROD environment as is.
    what could be the problem and how can I start investigate it to find the problem?
    this is what the SAP recieves
    call to messaging system failed: com.sap.aii.af.ra.ms.api.DeliveryException
    Thanks
    Kfir

    Hi Kfir,
    just check in RWB, in component monitoring, the status of integration server and adapter engine.......if it is red, then ask your basis guys to remove that error................just check your comm channels, i think your comm channels are in error, if they are just edit them, save and activate them again..........i think then your this issue will be resolved.'
    Regards,
    Rajeev Gupta

  • "call to messaging system failed: com.sap.aii.af.ra.ms.api.DeliveryExceptio

    Hello XI guru,
    I am configuring RFC to File scneario where i am using BAPI as Source. When i run this BAPI in se37 it gives me short dump stating "call to messaging system failed: com.sap.aii.af.ra.ms.api.DeliveryException:
    Please help.
    Also I want to know is it necessary to write wrapper for BAPI before configuring. This bapi list all orders created in SCM system.
    awaiting ur advises and help
    Thanx
    Anu

    Hello guys,
    I am sorry but kind of confuse, please be with me.
    I have RFC with following structure:
    'Z_BAPI_MOSRVAPS_GETLIST2'
    importing parameters
          LOGICAL_SYSTEM = T_LOGICAL_SYSTEM
          START_TIME = T_START_TIME
    TABLES
          PRODUCT_SELECTION = T_PRODUCT_SELECTION
          LOCATION_SELECTION = T_LOCATION_SELECTION
          LOCTYPE_SELECTION = T_LOCTYPE_SELECTION
          ORDER_HEADS  =  T_ORDER_HEADS
          OUTPUT_NODES  = T_OUTPUT_NODES.
    I put values in logical system/start_time/
    product_selection/location_selection/loctype_selection
    based on these values order_heads and output_nodes is populated. I want value of these to tables to be sent as file.
    Data structure for file is as follows
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:ORDER_MT xmlns:ns0="uri:scm:sql:transaction">
    - <ORDER_HEADS>
    - <ITEM>
      <ORDER_NUMBER />
      <ORDER_TYPE />
      </ITEM>
      </ORDER_HEADS>
    - <OUTPUT_NODES>
    - <ITEM>
      <MASTER_PRODUCT />
      <MASTER_PLANT />
      </ITEM>
      </OUTPUT_NODES>
      </ns0:ORDER_MT>
    But the payload has value
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:ORDER_MT xmlns:ns0="uri:scm:sql:transaction">
    remaining is not seen in sxmb_moni and payload cannot be read error is given.
    file structure is dummy structure, please tell me know if it is right or i need to change.
    Thanx
    Anu

  • MR11 error message system status CLSD is active

    MR11 fails with error message system status CLSD is active . How to clear the PO line item which gives error message in MR11 system status CLSD is active .

    If you are using an account assigned PO then possibly the order(PM order, internal order etc) to which your PO refers might have status as CLSD.
    Check and reverse the status.

  • Error in local message system; message 009999000035 not complete

    Hello All.
    I have configured Service desk in SolMan 7.0 which has patch level 14 and also configured in Satellite systems. I am using SM_...._BACK RFC connection in BCOS_CUST table. The user used by SM_...._BACK have the following roles in SolMan
    SAP_SUPPDESK_CREATE,SAP_SV_FDB_NOTIF_BC_ADMIN
    and SAP_SV_FDB_NOTIF_BC_CREATE.
    However, when I try to create support message (Help --> Create support message) in satellite system, i am getting Error in local message system; message 009999000035 not complete.
    I have also checked for Product_ID parameter which is not existing.
    One important thing is, I can create support message in satellite system if I give SAP_ALL in that RFC user using in SM_...._BACK connection in SolMan.
    So, this shows clearly that it is an issue with role/authorization.
    Please suggest me !!
    Thanks in advance.
    Regards,
    Satish.

    Hmm not really. Profiles for the roles are also generated?
    Those roles/profiles should be sufficient to create support messages.
    Even though you assigned SAP_ALL and it worked afterwards I cannot imagine you got an auth. problem here anymore.
    When assigning SAP_ALL did you really assign SAP_ALL to the RFC user or did you assign another user (who got SAP_ALL auth.) to the RFC connection?
    The user who was logged on to the satellite system when the support messages have been created (with and without SAP_ALL assigned to the RFC user) has always been the same?
    Just to make sure: did you set NO_USER_CHECK = X in Sol Man tx: DNO_CUST04?

  • Service Desk: Error in local message system: You do not have authorization

    Hello experts,
    i'm configuring support desk scenario. I think all is fine, but, when i try to create a message from satellite (R3 46C) to my SOLMAN the following error appears:
    Error in local message system: You do not have authorization to create a notifica Message was not created. (Message no. B~ 088)
    The user i use to create the message has the following roles:
    SAP_SV_FDB_SUPPORT_LINE_ADMIN
    SAP_SV_FDB_SUPPORT_LINE_LEVEL1
    SAP_SV_FDB_SUPPORT_LINE_LEVEL2
    Z_RFC
    and SAP_ALL SAP_NEW profiles.
    Anyone knows where is the problem?
    Regards
    Carlos Calle

    Hi Carlos,
    Role that allows processing messages is SAP_SUPPDESK_PROCESS. However from what I have understand, once End User enters and submits the message, he/she cannot edit the message anymore. Probably an email will be generated to him/her to notified of the message creation and for futher updates. I think end user should not be required to logon to Solution Manager. Key User i.e. helpdesk or SAP support staff will process(edit/change) the message instead.
    If you want something else, I think you need to create a customise role maybe from SAP_SUPPDESK_DISPLAY or PROCESS and change the authorization values.
    The below note contains latest authorization info.
    Note 834534 - SAP Solution Manager roles in Release 4.0
    Experts,
    Correct me if I am wrong.
    Regards,
    Annie

  • Product Instance Registration Error Message: "System Failure: Error while retrieving xml file from database"

    Hi Planning installation Gurus,
    Did u get any luck to resolve this problem as i am also facing same problem "Error creating instance" during install of Planning 9.3.1. i tried 30-50 times reconfiguration every time same problem..
    OS: Vista Premium
    SQL Server 2005
    Essbase:9.3.1
    Error Message: "System Failure: Error while retrieving xml file from database"
    Details of error:::::::::::::::::::::::::
    at com.hyperion.planning.event.HspSysExtChangeHandler.run(Unknown Source
    Can not get JDBC connection for SYS external changed actions.
    Can not get JDBC connection.
    java.lang.NullPointerException
    at com.hyperion.planning.sql.HspSQLImpl.getConnection(Unknown Source)
    at com.hyperion.planning.event.HspSysExtChangeHandler.actionPoller(Unkno
    wn Source)
    at com.hyperion.planning.event.HspSysExtChangeHandler.run(Unknown Source
    Can not get JDBC connection for SYS external changed actions.
    Can not get JDBC connection.
    java.lang.NullPointerException
    at com.hyperion.planning.sql.HspSQLImpl.getConnection(Unknown Source)
    at com.hyperion.planning.event.HspSysExtChangeHandler.actionPoller(Unkno
    wn Source)
    at com.hyperion.planning.event.HspSysExtChangeHandler.run(Unknown Source
    Can not get JDBC connection for SYS external changed actions.
    Can not get JDBC connection.
    Pls provide Solution

    Hi John,
    though i am trying with SQl server authentication with different user but still status is same of planningSystemDB.properties
    SYSTEM_DB_DRIVER=hyperion.jdbc.sqlserver.SQLServerDriver
    SYSTEM_DB_URL=jdbc:hyperion:sqlserver://neeraj-PC:1433
    SYSTEM_DB_USER=windowsAuthentication
    SYSTEM_DB_PASSWORD=CAFBAEFNBGEAABHEDOADFKADACBGBIFHBLCDFBAFFH
    SYSTEM_DB_CATALOG=plandb
    SYSTEM_DB_TYPE=SQL
    INSTANCE=
    my steps:
    Using SQL Server Management Studio
    Changed Widows authentication to SQL server authentication mode
    In SQL Server Management Studio Object Explorer, right-click the server, and then click Properties.
    On the Security page, under Server authentication, select the new server authentication mode, and then click OK.
    In the SQL Server Management Studio dialog box, click OK to acknowledge the requirement to restart SQL Server.
    In SQL Server Management Studio Object Explorer, right-click the server, and then click Properties.
    On the Security page, under Server authentication, select the new server authentication mode, and then click OK.
    In the SQL Server Management Studio dialog box, click OK to acknowledge the requirement to restart SQL Server.
    To restart SQL Server from SQL Server Management Studio
    To enable the sa login by using Management Studio
    In Object Explorer, expand Security, expand Logins, right-click sa, and then click Properties.
    On the General page, you might have to create and confirm a password for the sa login.
    On the Status page, in the Login section, click Enabled, and then click OK.
    In Object Explorer, expand Security, expand Logins, right-click sa, and then click Properties.
    On the General page, you might have to create and confirm a password for the sa login.
    On the Status page, in the Login section, click Enabled, and then click OK.}}}
    anything else should i change.................

  • Error in Local Message System: RFC destination MB3AP1039 does not exist.

    Error in Local Message System: RFC destination MB3AP1039 does not exist. Message was Not Created
    Message no. BCOS088
    Hi,
         When iam creating a message from any system from HELP-CREATE SUPPORT MESSAGE it is throwing the above error message. Actually i need to send this message to SAP solution Manager Service Desk.
    Can anyone help me in resolving the above issue.
    Thanks & Regards,
    Mirza Kaleemulla Baig.

    Dear friend
    You have to of following option
    1.Define Service Desk destination in the R/3 systems:
    Note: for this you need to log in the R/3 system.
    Create the RFC between the Solution manager and R/3 system (Login to the R/3 system)
    2.a. Go to transaction SM30.
    b. In table/view field, enter BCOS_CUST. Then press the Maintain Button. See example below:
    c. Press the Continue button in the following screen:
    d. You should see the following screen, no entries should be seen in the table. Press the New Entries button:
    e. In the next screen, enter the following information:
    In the RFC Destination you should point to your Solution Manager destination RFC.
    0ss_msg   w   sm_bsmclnt_back    cust620     1.0
    shailesh

  • Workflow Error Message: System Account - The Workflow could not set Content Approval Status

    This is the first time I try an approval workflow. I am using a template in MS Word and assigned an approval workflow to it. The approval workflow is only going to one person in this case.
    When I start the work flow the following 3 error messages show up:
    Workflow Error Message: System Account - The Workflow could not set Content Approval Status. Enable content moderation for this list and run the workflow again.
    Workflow Error Message: System Account - The e-mail message cannot be sent. Make sure the e-mail has a valid recipient.
    Workflow Error Message: System Account - The e-mail message cannot be sent. Make sure the outgoing e-mail settings for the server are configured correctly.
    Thank you for your kind guidance.

    Hi,
    For the first error: Did you set Content Approval in the workflow?  If so, see if you have it in the versioning settings of the list settings.
    For the second error: double check your recipient is set up as being valid.  Did you type in the email address or is it referring to a people picker field?  also, make sure that in the workflow for the email that you actually populated it in the
    To: field.
    for the third error: I suspect that either your farm is not configured for email.  Or, this error is a knock on from the second error.  If you get the second error rectified it may clear this error.  If not then double check the email settings
    for your farm.
    Johnathan Lightfoot

Maybe you are looking for

  • Run_report_object is giving error

    I am tryimg to run report. In Form Builder i have a report obgect 'report_numb1' In my procedure i am using pl_id paramlist; report_job_id VARCHAR2(100); BEGIN I have some parameters passed to the report Add_Parameter (pl_id, report_job_id := RUN_REP

  • Space in bytes used by a single index in given table space

    Hi All, How can i find a table space used by index in bytes Eg: suppose i have a table space USERS and i have a table say customer . one index defined on table customer called CUSTOMER_UQ and mapped to table to table space USERS . How can i find the

  • Error Message about clock and computer being offline

    Error Message:  Please connect to the internet and retry Either your computer is offline or the clock on your computer is set incorrectly, causing a connection error....."  I'm connected to internet and clock is correct.  I've been paying for the las

  • The parition on my external drive is not showing up in /dev.

    Hey guys, I'm doing some work for a friend (she managed to encrypt her home directory in OSX and I'm trying to get to it), and it requires that I mount an external USB drive. As far as I know, the drive is HFS+. When I plug it in, the device shows up

  • I downloaded FIrefox 5 but when I try to install iget a message that the file is corrupt.

    I have downloaded Firefox 5 to my "Download" box. When I click on the Firefox 5 icon I get the usual small window that asks if I want to install the program. When I click on the install buton, I get a small popup that says the file is "corrupt" and w