Results 1 to 10 of 11

Hybrid View

  1. #1
    Administrator
    Join Date
    Jul 2006
    Location
    Milan
    Posts
    1,091
    Ok, sorry, I was misled by the wrong formatting of your code snippets (by the way, do you see them as expected?).

    I see that you iterate on schema from 0 to schema.length;
    the last call is redundant and may account for some null you see coming from getNewValue.
    Could it even account for the exception? Unfortunately, I couldn't manage to replicate that.

    So, for now, it seems that there is a bug in the library.
    We need all available information on the error context.
    • Does it happen immediately after you call restart?
    • If you issue removeTable("tnvt") before calling restart, does it still happen?
    • Could you test itemUpdate.LS_QfY.LS_WPo before calling itemUpdate.getNewValue and see if you can find it undefined before the exception is thrown?

  2. #2
    Senior Member
    Join Date
    Jul 2009
    Location
    sofia
    Posts
    40
    Hi,

    Sorry for my delay.
    No, the formating is bad, maybe it is my mistake...
    Thanks, i really missed this "=". I don't get this LS_QfY.LS_WPo is undefined now.
    But i am still receiving null messages from lightstreamer. And one other thing. I need to send command like messages to the client. For example: The server sends notification that the client must request (do) something. I use text format for the the command like messages (every command has unique id). But if i send one command two times only the first one is executed because i use MERGE type(i also stream market prices). So i changed it to RAW, in order to send all messages. But the result is the same. I can see from the ls console that every command message is received but not every one is sent to the client.

  3. #3
    Administrator
    Join Date
    Jul 2006
    Location
    Milan
    Posts
    1,091
    Please, send us the produced log for a check.
    Note that in order to trace the updates lifecycle, the LightstreamerLogger.subscriptions and LightstreamerLogger.pump logging categories should be configured as DEBUG.

    By the way, you can suppress filtering on an item subscribed to in MERGE mode by invoking setRequestedMaxFrequency("unfiltered");
    changing the subscription to RAW mode, on the other hand, involves a few other related changes (one of them could even lead to null field values).

  4. #4
    Senior Member
    Join Date
    Jul 2009
    Location
    sofia
    Posts
    40
    Hi,

    I am unable to send you the logs at the moment (i didn't configure the logging). But i log every message send from my app server to the lightstreamer server: Here is simple log:
    Code:
    17.Mar.10 16:57:39,595 < INFO> Received update for item asset5309
    17.Mar.10 16:57:39,596 < INFO> Received update for item asset5309
    17.Mar.10 16:57:39,599 < INFO> Received update for item userX435Isdjias234dh
    17.Mar.10 16:57:39,702 < INFO> Serving request: /lightstreamer/control.html?LS_session=Sc496e06f69e2a096T5213959&LS_window=8&LS_win_phase=4&LS_op=add&LS_req_phase=40&LS_mode1=RAW&LS_id1=ALLUSERS%20userX435Isdjias234dh%20asset5309&LS_schema1=STREAMPUSH%20USERUPDATES%20IGVOL_CURRENT_DAY%20IGVOL_FOLLOWIND_DAY%20MIX3&LS_data_adapter1=JMSADAPTER&LS_unique=14 from 192.168.2.105:32904
    17.Mar.10 16:57:39,702 < INFO> Controlling session: Sc496e06f69e2a096T5213959 from 192.168.2.105:32904
    17.Mar.10 16:57:39,708 < INFO> Serving request: /lightstreamer/control.html?LS_session=Sc496e06f69e2a096T5213959&LS_window=7&LS_win_phase=4&LS_req_phase=39&LS_op=delete&LS_unique=15 from 192.168.2.105:32904
    17.Mar.10 16:57:39,708 < INFO> Controlling session: Sc496e06f69e2a096T5213959 from 192.168.2.105:32904
    17.Mar.10 16:57:39,770 < INFO> Received update for item asset5309
    17.Mar.10 16:57:39,805 < INFO> Received update for item asset5309
    17.Mar.10 16:57:40,506 < INFO> Received update for item asset5309

    Notice that i have schema:
    STREAMPUSH%20USERUPDATES%20IGVOL_CURRENT_DAY%20IGV OL_FOLLOWIND_DAY%20MIX3

    items like asset + ID receive many messages per sec - market data.
    items like user + hash are separate users.
    Every thing is with one Adapter, and i dynamically change the schema and group and after every change i call the restart method above. Note: before every restart i create new NVT(but this does not matter).
    So items like asset + ID need to be in MERGE MODE, but items like user+ hash need to be in RAW mode, because if i send two times some command(for example UPDATE_FUNDS) ls will not send the second message because of MERGE mode.
    But as you can see i change the mode to RAW and my log shows that the ls received message for the user+hash but from the browser ui i can see that it is not received(no FUNDS_UPDATE) event it is RAW mode.

    I think it is not possible to use some mixed mode i.e. for some items MERGE and for other RAW? If not i can't afford to use MERGE + setRequestedMaxFrequency("unfiltered");

  5. #5
    Administrator
    Join Date
    Jul 2006
    Location
    Milan
    Posts
    1,091
    I'm not sure how the log should be interpreted.
    There is one event for the user+hash item, but it is just before the table restart, as evidenced by a subscription request followed by a deletion request for a different table (identified through the LS_window parameter).
    I suppose that the user+hash event is actually the trigger for the restart.

    Anyway, you are not bound in any way to using the same NonVisualTable object to request all your items together.
    By using different NonVisualTable instances, you can subscribe to each item in the proper way.

  6. #6
    Senior Member
    Join Date
    Jul 2009
    Location
    sofia
    Posts
    40
    The problem is that i wrote client api that relays only on on NVT.
    My log example was not accurate.

  7. #7
    Administrator
    Join Date
    Jul 2006
    Location
    Milan
    Posts
    1,091
    Ok. I don't understand if any issue is still in place.

    Although it is not related with the latest issues, just in case,
    I remind you that if you subscribe to an item in MERGE mode
    and the Data Adapter only sends "delta updates" for the item
    (i.e. it only includes the changed fields in the update events),
    if you then switch to RAW mode, the "delta updates" will no longer be managed
    and any field not included in an update event will be supplied with a null value to the client.

 

 

Similar Threads

  1. Replies: 1
    Last Post: April 17th, 2012, 09:19 AM
  2. Strange exception
    By Alex Zherdev in forum Client SDKs
    Replies: 1
    Last Post: December 1st, 2011, 09:33 AM
  3. Replies: 0
    Last Post: November 8th, 2011, 09:20 AM
  4. Replies: 2
    Last Post: December 24th, 2010, 07:51 AM
  5. Strange FireFox error
    By jameswolfe in forum Client SDKs
    Replies: 5
    Last Post: August 27th, 2007, 01:24 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
All times are GMT +1. The time now is 09:37 AM.