Filtered positions remains into the cache until next new position.

Dear Anton,

Filtered positions remains forever into the cache until the server gets new position. Is it also by Traccar design for the Filtered positions ?
This is quite misleading because whenever we fetch last positions from the server, it returns the data from the cache and 1 more point is that they always have position id equal to 0 because they are not updated by db generated id.

Is it the best approach Or I misunderstood something?

Anton Tananaev7 years ago

That's not correct. Filtered positions are not stored anywhere.

Thanks, but I got it into the cache. Trying to dig into the issue. One Condition I know is that due to some MySql Exception they are not getting stored into db but remains into the cache. In my case it happens for the lat=0 and lng=0 into a position and I already have zero filter enabled into the config file. Might be some config issue.

Thank you again.

Anton Tananaev7 years ago

If you get it into the cache it means it wasn't filtered out.

I think I found the issue. That was due to the device error because it was not able to fix the GPS location and always sending same lat, lng=0 so it was skipped by the skipLimit method. But still wondering why it is not getting stored into the db. Might be any other issue. I'll look into it ASAP.

BTW any specific reason why skipLimit is called before filterZero method into the FilterHandler ?

I'm only relating skipLimit and filterZero. Leave any other filters for the discussion.

Anton Tananaev7 years ago

If we don't want to filter item, why would we need to call anything else?

I know all logic behind every filter but just asking that I think If someone have filter.zero enabled then why he wants to save some new position having same lat, lng=0 after skipLimit time?

Does The Position having lat,lng=0 send some useful information that it needs to be stored into the DB? I think that's not a valid position.

Anton Tananaev7 years ago

If you think we should change some logic then you should create GitHub thread and provide we can discuss it there.