Hi all,

After digging deep into the configuration database of our GeoServer
instance, I've found the solution to my problem. I'd like to share my
findings with you.

The JDBC config module of version 2.7.x stores certain properties in the
'blob' field of the 'object' table which are stored in another location by
the module of the 2.12.x version. I have not researched in which version
the change was introduced. In order to make layers appear in the WMS
Capabilties there are 3 boolean properties which must be set to 'true'.
When these properties are not present in the table 'object_property' they
are 'false' by default. I solved my issue of missing layers by adding the
following 3 properties to the 'object_property' table:
  - resource.advertised
  - resource.store.enabled
  - resource.enabled

For reference; I used the following SQL script to insert properties on all
featureTypes and layers:

INSERT INTO geoserverconfig.object_property(oid, property_type, id,
related_oid, related_property_type, colindex, value)
    SELECT o.oid,
    (SELECT oid FROM geoserverconfig.property_type WHERE name =
'resource.advertised'),
        o.id, o.related_oid,
        (SELECT oid FROM geoserverconfig.property_type WHERE name =
'enabled' AND type_id = (SELECT oid FROM geoserverconfig.type WHERE
typename = 'org.geoserver.catalog.DataStoreInfo')),
        0, true
    FROM geoserverconfig.object_property o
    WHERE property_type = 87;

INSERT INTO geoserverconfig.object_property(oid, property_type, id,
related_oid, related_property_type, colindex, value)
    SELECT o.oid,
         (SELECT oid FROM geoserverconfig.property_type WHERE name =
'resource.store.enabled'),
         o.id, o.related_oid,
         (SELECT oid FROM geoserverconfig.property_type WHERE name =
'advertised' AND type_id = (SELECT oid FROM geoserverconfig.type WHERE
typename = 'org.geoserver.catalog.FeatureTypeInfo')),
         0, true
    FROM geoserverconfig.object_property o
    WHERE property_type = 87;

INSERT INTO geoserverconfig.object_property(oid, property_type, id,
related_oid, related_property_type, colindex, value)
    SELECT o.oid,
         (SELECT oid FROM geoserverconfig.property_type WHERE name =
'resource.enabled'),
         o.id, o.related_oid,
         (SELECT oid FROM geoserverconfig.property_type WHERE name =
'enabled' AND type_id = (SELECT oid FROM geoserverconfig.type WHERE
typename = 'org.geoserver.catalog.FeatureTypeInfo')),
         0, true
    FROM geoserverconfig.object_property o
    WHERE property_type = 87;

Hope this will be of use to other people.

Cheers,

Jan

--------------------------------------
*Geodan*
Buitenhaven 27-A
5211 TP 's-Hertogenbosch (NL)

T +31 (0)73 - 692 5151
M +31 (0)6 - 2395 1191
E [email protected]
www.geodan.nl | disclaimer <http://www.geodan.nl/disclaimer>
--------------------------------------


2018-03-05 9:42 GMT+01:00 Jan Boonen <[email protected]>:

> Hi Andrea,
>
> Thanks for your response. The issue must then be caused by a problem in
> the JDBC Config module, because without the "tolerant" mode I get no
> exception, but still cannot see many layers.
>
> Anyway, I'm still puzzled by the fact that the WFS Capabilities and the
> REST endpoint /layers show all the available layers. I will check the
> source code to see what kind of property might be missing and causing the
> issue. If we need to more help, we'll get in touch for commercial support.
>
> Cheers,
>
> Jan
>
> --------------------------------------
> *Geodan*
> Buitenhaven 27-A
> 5211 TP 's-Hertogenbosch (NL)
>
> T +31 (0)73 - 692 5151
> M +31 (0)6 - 2395 1191
> E [email protected]
> www.geodan.nl | disclaimer <http://www.geodan.nl/disclaimer>
> --------------------------------------
>
>
> 2018-03-04 9:39 GMT+01:00 Andrea Aime <[email protected]>:
>
>> Hi Jan,
>> I can think of two reasons.
>>
>> One is that the configuration is somehow missing bits that 2.12.x is
>> using and you have the services setup in
>> "tolerant mode", that is, skipping invalid layers. If that's the case,
>> you should see an error in the logs every time
>> you do a capabilities request.
>>
>> The second one is JDBCConfig itself, in its current implementation it's
>> sort of a "honey trap", you cannot
>> go back to file system storage and upgrades are not handled properly. Let
>> me elaborate a bit.
>> In order to work JDBCConfig keeps the XML configuration files in a table,
>> but just looking up info there
>> would be really slow, so it also maps out selected properties, commonly
>> used in search, in a indexed
>> lookup table.
>>
>> The set of mapped properties has been varying over time, with newer
>> versions expecting to find different
>> (growing) sets of properties in the lookup table. Unfortunately, as far
>> as I know, there is nothing extracting these new
>> properties in the lookup table while doing the upgrades, so some searches
>> will start to silently missing
>> results.
>>
>> The module is not officially supported, so, if you depend on it, I'd
>> warmly suggest to get commercial
>> support for it and use it to improve the module, hopefully to a state
>> where it can be pushed to supported
>> status (that also requires a maintainer, someone giving basic care for
>> the module also outside
>> of paid contracts, like answering mails, vetting pull requests and doing
>> the occasional "free" bug fix
>> as spare time allows for it, but no one showed up yet).
>>
>> Cheers
>> Andrea
>>
>>
>> On Fri, Mar 2, 2018 at 3:49 PM, Jan Boonen <[email protected]> wrote:
>>
>>> Dear all,
>>>
>>> While upgrading a GeoServer installation from version 2.8.x to 2.12.2
>>> I've noticed that some layers are missing in the WMS Capabilities document.
>>> These layers are NOT marked 'unadvertised' and do show up in the WFS
>>> Capabilties. There are no security rules active, except from the ones that
>>> come with a default installation. When performing a GetMap request, the
>>> missing layers are rendered correctly. The configuration of the layers is
>>> also correct. Note: we are using the JDBC config community module.
>>>
>>> Does anybody have any idea why some layers are not shown in the
>>> Capabilities document?
>>>
>>> Thanks for your help!
>>>
>>> Cheers,
>>>
>>> Jan
>>>
>>> --------------------------------------
>>> *Geodan*
>>> Buitenhaven 27-A 
>>> <https://maps.google.com/?q=Buitenhaven+27-A+5211+TP++s-Hertogenbosch+(NL&entry=gmail&source=g>
>>> 5211 TP  
>>> <https://maps.google.com/?q=Buitenhaven+27-A+5211+TP++s-Hertogenbosch+(NL&entry=gmail&source=g>'s-Hertogenbosch
>>>  (NL 
>>> <https://maps.google.com/?q=Buitenhaven+27-A+5211+TP++s-Hertogenbosch+(NL&entry=gmail&source=g>)
>>>
>>> T +31 (0)73 - 692 5151 <+31%2073%20692%205151>
>>> M +31 (0)6 - 2395 1191
>>> E [email protected]
>>> www.geodan.nl | disclaimer <http://www.geodan.nl/disclaimer>
>>> --------------------------------------
>>>
>>>
>>> ------------------------------------------------------------
>>> ------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> _______________________________________________
>>> Geoserver-users mailing list
>>>
>>> Please make sure you read the following two resources before posting to
>>> this list:
>>> - Earning your support instead of buying it, but Ian Turton:
>>> http://www.ianturton.com/talks/foss4g.html#/
>>> - The GeoServer user list posting guidelines:
>>> http://geoserver.org/comm/userlist-guidelines.html
>>>
>>> If you want to request a feature or an improvement, also see this:
>>> https://github.com/geoserver/geoserver/wiki/Successfully-req
>>> uesting-and-integrating-new-features-and-improvements-in-GeoServer
>>>
>>>
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>>>
>>>
>>
>>
>> --
>>
>> Regards,
>>
>> Andrea Aime
>>
>> ==
>> GeoServer Professional Services from the experts! Visit
>> http://goo.gl/it488V for more information.
>> ==
>>
>> Ing. Andrea Aime
>> @geowolf
>> Technical Lead
>>
>> GeoSolutions S.A.S.
>> Via di Montramito 3/A
>> <https://maps.google.com/?q=Via+di+Montramito+3/A+55054+%C2%A0Massarosa&entry=gmail&source=g>
>> 55054  Massarosa
>> <https://maps.google.com/?q=Via+di+Montramito+3/A+55054+%C2%A0Massarosa&entry=gmail&source=g>
>> (LU)
>> phone: +39 0584 962313
>> fax: +39 0584 1660272
>> mob: +39  339 8844549
>>
>> http://www.geo-solutions.it
>> http://twitter.com/geosolutions_it
>>
>> AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
>>
>> Le informazioni contenute in questo messaggio di posta elettronica e/o
>> nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
>> loro utilizzo è consentito esclusivamente al destinatario del messaggio,
>> per le finalità indicate nel messaggio stesso. Qualora riceviate questo
>> messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
>> darcene notizia via e-mail e di procedere alla distruzione del messaggio
>> stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
>> divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
>> utilizzarlo per finalità diverse, costituisce comportamento contrario ai
>> principi dettati dal D.Lgs. 196/2003.
>>
>> The information in this message and/or attachments, is intended solely
>> for the attention and use of the named addressee(s) and may be confidential
>> or proprietary in nature or covered by the provisions of privacy act
>> (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
>> Code).Any use not in accord with its purpose, any disclosure, reproduction,
>> copying, distribution, or either dissemination, either whole or partial, is
>> strictly forbidden except previous formal approval of the named
>> addressee(s). If you are not the intended recipient, please contact
>> immediately the sender by telephone, fax or e-mail and delete the
>> information in this message that has been received in error. The sender
>> does not give any warranty or accept liability as the content, accuracy or
>> completeness of sent messages and accepts no responsibility  for changes
>> made after they were sent or for other risks which arise as a result of
>> e-mail transmission, viruses, etc.
>>
>>
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to