3 Replies Latest reply: Jul 3, 2013 12:01 AM by CrgF RSS

    Exception while publishing avisports

    CrgF

      Hi,

       

      I am publishing a modified version of Avisports and went through all the stages like Initialize realtime destination etc. At the last stage I get these errors in logs sites.log. I have added Filters to Auxiliary Tables before publishing. Any help will be appreciated, thanks.

       

      [2013-06-17 12:51:19,695 IST] [ERROR] [Thread-222] [com.fatwire.search.asset] Exception fetching indexable data for QS_MediaCategory:1343223823141

      com.fatwire.assetapi.common.AssetAccessException: Exception met when reading asset A:QS_MediaCategory:1343223823141

        at com.fatwire.assetapi.data.BasicAssetDataReadStrategy.read(BasicAssetDataReadStrategy.java:169)

        at com.fatwire.assetapi.data.FlexAssetDataReadStrategy.read(FlexAssetDataReadStrategy.java:105)

        at com.fatwire.assetapi.data.AssetDataManagerImpl.read(AssetDataManagerImpl.java:125)

        at com.fatwire.search.source.IndexSourceIteratorImpl.next(IndexSourceIteratorImpl.java:89)

        at com.fatwire.search.source.IndexSourceIteratorImpl.next(IndexSourceIteratorImpl.java:35)

        at com.fatwire.cs.core.util.UnifiedIterator.next(UnifiedIterator.java:64)

        at com.fatwire.search.lucene.LuceneSearchEngine._deleteData(LuceneSearchEngine.java:341)

        at com.fatwire.search.lucene.LuceneSearchEngine._deleteData(LuceneSearchEngine.java:322)

        at com.fatwire.search.lucene.LuceneSearchEngine.index(LuceneSearchEngine.java:151)

        at com.fatwire.search.engine.SearchEngineLockWrapper.index(SearchEngineLockWrapper.java:55)

        at com.fatwire.search.util.AssetQueueIndexSourceUtil._processAll(AssetQueueIndexSourceUtil.java:101)

        at com.fatwire.search.util.AssetQueueIndexSourceUtil.access$000(AssetQueueIndexSourceUtil.java:35)

        at com.fatwire.search.util.AssetQueueIndexSourceUtil$indexingRunnable.run(AssetQueueIndexSourceUtil.java:51)

        at java.lang.Thread.run(Thread.java:662)

      Caused by: com.fatwire.assetapi.common.AssetAccessException: com.fatwire.assetapi.common.AssetAccessException: com.openmarket.basic.interfaces.AssetException: com.fatwire.presales.filters.SEFieldCopier

        at com.fatwire.assetapi.data.BasicAssetDataReadStrategy._getAssetDataFromAsset(BasicAssetDataReadStrategy.java:580)

        at com.fatwire.assetapi.data.BasicAssetDataReadStrategy.read(BasicAssetDataReadStrategy.java:139)

        at com.fatwire.assetapi.data.FlexAssetDataReadStrategy.read(FlexAssetDataReadStrategy.java:97)

        at com.fatwire.assetapi.data.BasicAssetDataReadStrategy.read(BasicAssetDataReadStrategy.java:156)

        ... 13 more

      Caused by: com.fatwire.assetapi.common.AssetAccessException: com.openmarket.basic.interfaces.AssetException: com.fatwire.presales.filters.SEFieldCopier

        at com.fatwire.assetapi.def.AssetTypeDefManagerImpl.findByName(AssetTypeDefManagerImpl.java:102)

        at com.fatwire.assetapi.data.BasicAssetDataReadStrategy._getAssetTypeDef(BasicAssetDataReadStrategy.java:1022)

        at com.fatwire.assetapi.data.BasicAssetDataReadStrategy._getAssetDataFromAsset(BasicAssetDataReadStrategy.java:262)

        ... 16 more

      Caused by: com.openmarket.basic.interfaces.AssetException: com.fatwire.presales.filters.SEFieldCopier

        at com.openmarket.gator.common.FilterManager.loadFilter(FilterManager.java:90)

        at com.openmarket.gator.interfaces.FilterFactory.getFilterInstance(FilterFactory.java:25)

        at com.openmarket.gator.flexfilters.FlexFilterInstance.describeDerivedAttributes(FlexFilterInstance.java:292)

        at com.openmarket.gator.flexfilters.FlexFilterManager.getFilterInfo(FlexFilterManager.java:373)

        at com.openmarket.gator.common.TemplateFilters.getDerivedInfo(TemplateFilters.java:290)

        at com.openmarket.gator.flexgrouptemplates.FlexGroupTemplateManager.getDerivedInfo(FlexGroupTemplateManager.java:314)

        at com.openmarket.gator.flexgroups.FlexGroupManager.getDerivedInfo(FlexGroupManager.java:1762)

        at com.openmarket.gator.common.BaseFlexManager.getAttributesDefinitions(BaseFlexManager.java:2723)

        at com.openmarket.assetframework.complexasset.AssetManager.getAttributeDefs(AssetManager.java:1983)

        at com.fatwire.assetapi.def.AssetTypeDefManagerImpl.findByName(AssetTypeDefManagerImpl.java:94)

        ... 18 more

        • 1. Re: Exception while publishing avisports
          Pgleghorn-Oracle

          The publish seems to be failing because of the custom flex filter in place - com.fatwire.presales.filters.SEFieldCopier. But it's not really clear from the exception why it's failing. Do you have the source code to this filter? If so try adding some debug messages to it's constructor and other methods, to see if they are being called.

          As a workaround you can try to prevent this problem by removing the filter from your flex asset definition(s) on the source machine, and publish again.

           

          Phil

          • 2. Re: Exception while publishing avisports
            Nelash Jindal

            Hi,

             

            Did you add fwblogs-11.1.1.6.1.jar in your classpath??

             

            While publishing filters u need to add fwblogs jar  in your classpath.

             

             

             

            Thanks,

            Nelash Jindal

            • 3. Re: Exception while publishing avisports
              CrgF

              Hi Nelash,  let me try it again with fwblogs jar.

               

              Phil, the class is inside of a jar file and goes something like this (decompiled)

               

              package com.fatwire.presales.filters;

               

              import COM.FutureTense.Interfaces.FTValList;

              import COM.FutureTense.Interfaces.ICS;

              import COM.FutureTense.Interfaces.IList;

              import com.openmarket.basic.interfaces.AssetException;

              import com.openmarket.framework.interfaces.IAbstractObject;

              import com.openmarket.gator.interfaces.IFilter;

              import com.openmarket.gator.interfaces.IFilterDependencies;

              import com.openmarket.gator.interfaces.IFilterDescription;

              import com.openmarket.gator.interfaces.IFilterEnvironment;

              import com.openmarket.gator.interfaces.IFilterableAssetInstance;

              import com.openmarket.xcelerate.interfaces.IAsset;

              import com.openmarket.xcelerate.interfaces.IReplicate;

              import java.text.SimpleDateFormat;

              import java.util.ArrayList;

              import java.util.Collection;

              import java.util.Date;

              import java.util.Enumeration;

              import java.util.Iterator;

              import org.apache.commons.logging.Log;

               

              public class SEFieldCopier

                implements IFilter

              {

                static final String ARGS_name = "name";

                static final String ARGS_desc = "description";

                static final String ARGS_createddate = "createddate";

                static final String ARGS_updateddate = "updateddate";

                static final String ARGS_createdby = "createdby";

                static final String ARGS_id = "id";

                static final String ARGS_template = "template";

                static final String ARGS_subtype = "subtype";

                static final String ARGS_updatedby = "updatedby";

                static final String ARGS_filename = "filename";

                static final String ARGS_path = "path";

                static final String ARGS_flexdef = "FlexDefinition";

                static final String ARGS_startdate = "StartDate - hidden";

                static final String ARGS_enddate = "EndDate - hidden";

                static final String ARGS_parentid = "parent id";

                static final String ARGS_parenttype = "parent asset type";

                static final Collection<String> ARGS = new ArrayList();

               

                public SEFieldCopier(FTValList configurationParameters)

                {

                  String s = configurationParameters.getValString("name");

                  getLog().debug("Instantiating FieldCoper running on " + new Date() + (s == null ? "" : new StringBuilder(" for asset named ").append(s).toString()));

                }

               

              ....